Created
April 20, 2022 17:19
-
-
Save pashu123/63b50bae1a994d0321a27e3288928b0a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #map0 = affine_map<(d0, d1, d2) -> (d0, d1, d2)> | |
| #map1 = affine_map<(d0, d1, d2) -> (d0, d1)> | |
| #map2 = affine_map<(d0, d1) -> (d0, d1)> | |
| #map3 = affine_map<(d0, d1) -> ()> | |
| #map4 = affine_map<(d0, d1) -> (d0)> | |
| #map5 = affine_map<(d0, d1) -> (d0, 0)> | |
| #map6 = affine_map<(d0, d1) -> (d1, d0)> | |
| #map7 = affine_map<(d0, d1) -> (0, d1)> | |
| #map8 = affine_map<(d0, d1, d2) -> (d0, d1, 0)> | |
| #map9 = affine_map<(d0, d1, d2) -> (d2)> | |
| #map10 = affine_map<(d0, d1, d2) -> ()> | |
| #map11 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)> | |
| #map12 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d1, d3)> | |
| #map13 = affine_map<(d0, d1, d2) -> (d0, d2, d1)> | |
| #map14 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)> | |
| #map15 = affine_map<(d0, d1, d2, d3) -> ()> | |
| #map16 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d3, d2)> | |
| #map17 = affine_map<(d0, d1, d2) -> (0, d1, d2)> | |
| #map18 = affine_map<(d0) -> (d0)> | |
| module attributes {torch.debug_module_name = "GraphModule"} { | |
| func @forward(%arg0: tensor<768xf32>, %arg1: tensor<768xf32>, %arg2: tensor<768xf32>, %arg3: tensor<768xf32>, %arg4: tensor<768xf32>, %arg5: tensor<768xf32>, %arg6: tensor<768xf32>, %arg7: tensor<768xf32>, %arg8: tensor<768xf32>, %arg9: tensor<768xf32>, %arg10: tensor<768xf32>, %arg11: tensor<768xf32>, %arg12: tensor<768xf32>, %arg13: tensor<768xf32>, %arg14: tensor<768xf32>, %arg15: tensor<768xf32>, %arg16: tensor<768xf32>, %arg17: tensor<768xf32>, %arg18: tensor<768xf32>, %arg19: tensor<768xf32>, %arg20: tensor<768xf32>, %arg21: tensor<768xf32>, %arg22: tensor<768xf32>, %arg23: tensor<768xf32>, %arg24: tensor<768xf32>, %arg25: tensor<768xf32>, %arg26: tensor<768xf32>, %arg27: tensor<768xf32>, %arg28: tensor<768xf32>, %arg29: tensor<768xf32>, %arg30: tensor<768xf32>, %arg31: tensor<768xf32>, %arg32: tensor<768xf32>, %arg33: tensor<768xf32>, %arg34: tensor<768xf32>, %arg35: tensor<768xf32>, %arg36: tensor<768xf32>, %arg37: tensor<768xf32>, %arg38: tensor<768xf32>, %arg39: tensor<768xf32>, %arg40: tensor<768xf32>, %arg41: tensor<768xf32>, %arg42: tensor<768xf32>, %arg43: tensor<768xf32>, %arg44: tensor<768xf32>, %arg45: tensor<768xf32>, %arg46: tensor<768xf32>, %arg47: tensor<768xf32>, %arg48: tensor<768xf32>, %arg49: tensor<768xf32>, %arg50: tensor<768xf32>, %arg51: tensor<768xf32>, %arg52: tensor<4x512xi64>, %arg53: tensor<4x512xi64>, %arg54: tensor<1x512xi64>, %arg55: tensor<4x512x768xf32>, %arg56: tensor<4x512x768xf32>, %arg57: tensor<768x768xf32>, %arg58: tensor<2048x768xf32>, %arg59: tensor<768x768xf32>, %arg60: tensor<2048x768xf32>, %arg61: tensor<768x768xf32>, %arg62: tensor<2048x768xf32>, %arg63: tensor<48x512x64xf32>, %arg64: tensor<48x64x512xf32>, %arg65: tensor<4x12x512x512xf32>, %arg66: tensor<4x12x512x512xf32>, %arg67: tensor<48x512x512xf32>, %arg68: tensor<48x512x64xf32>, %arg69: tensor<768x768xf32>, %arg70: tensor<2048x768xf32>, %arg71: tensor<4x512x768xf32>, %arg72: tensor<4x512x768xf32>, %arg73: tensor<768x3072xf32>, %arg74: tensor<2048x768xf32>, %arg75: tensor<4x512x3072xf32>, %arg76: tensor<3072x768xf32>, %arg77: tensor<2048x3072xf32>, %arg78: tensor<4x512x768xf32>, %arg79: tensor<4x512x768xf32>, %arg80: tensor<768x768xf32>, %arg81: tensor<2048x768xf32>, %arg82: tensor<768x768xf32>, %arg83: tensor<2048x768xf32>, %arg84: tensor<768x768xf32>, %arg85: tensor<2048x768xf32>, %arg86: tensor<48x512x64xf32>, %arg87: tensor<48x64x512xf32>, %arg88: tensor<4x12x512x512xf32>, %arg89: tensor<4x12x512x512xf32>, %arg90: tensor<48x512x512xf32>, %arg91: tensor<48x512x64xf32>, %arg92: tensor<768x768xf32>, %arg93: tensor<2048x768xf32>, %arg94: tensor<4x512x768xf32>, %arg95: tensor<4x512x768xf32>, %arg96: tensor<768x3072xf32>, %arg97: tensor<2048x768xf32>, %arg98: tensor<4x512x3072xf32>, %arg99: tensor<3072x768xf32>, %arg100: tensor<2048x3072xf32>, %arg101: tensor<4x512x768xf32>, %arg102: tensor<4x512x768xf32>, %arg103: tensor<768x768xf32>, %arg104: tensor<2048x768xf32>, %arg105: tensor<768x768xf32>, %arg106: tensor<2048x768xf32>, %arg107: tensor<768x768xf32>, %arg108: tensor<2048x768xf32>, %arg109: tensor<48x512x64xf32>, %arg110: tensor<48x64x512xf32>, %arg111: tensor<4x12x512x512xf32>, %arg112: tensor<4x12x512x512xf32>, %arg113: tensor<48x512x512xf32>, %arg114: tensor<48x512x64xf32>, %arg115: tensor<768x768xf32>, %arg116: tensor<2048x768xf32>, %arg117: tensor<4x512x768xf32>, %arg118: tensor<4x512x768xf32>, %arg119: tensor<768x3072xf32>, %arg120: tensor<2048x768xf32>, %arg121: tensor<4x512x3072xf32>, %arg122: tensor<3072x768xf32>, %arg123: tensor<2048x3072xf32>, %arg124: tensor<4x512x768xf32>, %arg125: tensor<4x512x768xf32>, %arg126: tensor<768x768xf32>, %arg127: tensor<2048x768xf32>, %arg128: tensor<768x768xf32>, %arg129: tensor<2048x768xf32>, %arg130: tensor<768x768xf32>, %arg131: tensor<2048x768xf32>, %arg132: tensor<48x512x64xf32>, %arg133: tensor<48x64x512xf32>, %arg134: tensor<4x12x512x512xf32>, %arg135: tensor<4x12x512x512xf32>, %arg136: tensor<48x512x512xf32>, %arg137: tensor<48x512x64xf32>, %arg138: tensor<768x768xf32>, %arg139: tensor<2048x768xf32>, %arg140: tensor<4x512x768xf32>, %arg141: tensor<4x512x768xf32>, %arg142: tensor<768x3072xf32>, %arg143: tensor<2048x768xf32>, %arg144: tensor<4x512x3072xf32>, %arg145: tensor<3072x768xf32>, %arg146: tensor<2048x3072xf32>, %arg147: tensor<4x512x768xf32>, %arg148: tensor<4x512x768xf32>, %arg149: tensor<768x768xf32>, %arg150: tensor<2048x768xf32>, %arg151: tensor<768x768xf32>, %arg152: tensor<2048x768xf32>, %arg153: tensor<768x768xf32>, %arg154: tensor<2048x768xf32>, %arg155: tensor<48x512x64xf32>, %arg156: tensor<48x64x512xf32>, %arg157: tensor<4x12x512x512xf32>, %arg158: tensor<4x12x512x512xf32>, %arg159: tensor<48x512x512xf32>, %arg160: tensor<48x512x64xf32>, %arg161: tensor<768x768xf32>, %arg162: tensor<2048x768xf32>, %arg163: tensor<4x512x768xf32>, %arg164: tensor<4x512x768xf32>, %arg165: tensor<768x3072xf32>, %arg166: tensor<2048x768xf32>, %arg167: tensor<4x512x3072xf32>, %arg168: tensor<3072x768xf32>, %arg169: tensor<2048x3072xf32>, %arg170: tensor<4x512x768xf32>, %arg171: tensor<4x512x768xf32>, %arg172: tensor<768x768xf32>, %arg173: tensor<2048x768xf32>, %arg174: tensor<768x768xf32>, %arg175: tensor<2048x768xf32>, %arg176: tensor<768x768xf32>, %arg177: tensor<2048x768xf32>, %arg178: tensor<48x512x64xf32>, %arg179: tensor<48x64x512xf32>, %arg180: tensor<4x12x512x512xf32>, %arg181: tensor<4x12x512x512xf32>, %arg182: tensor<48x512x512xf32>, %arg183: tensor<48x512x64xf32>, %arg184: tensor<768x768xf32>, %arg185: tensor<2048x768xf32>, %arg186: tensor<4x512x768xf32>, %arg187: tensor<4x512x768xf32>, %arg188: tensor<768x3072xf32>, %arg189: tensor<2048x768xf32>, %arg190: tensor<4x512x3072xf32>, %arg191: tensor<3072x768xf32>, %arg192: tensor<2048x3072xf32>, %arg193: tensor<4x512x768xf32>, %arg194: tensor<4x512x768xf32>, %arg195: tensor<768x768xf32>, %arg196: tensor<2048x768xf32>, %arg197: tensor<768x768xf32>, %arg198: tensor<2048x768xf32>, %arg199: tensor<768x768xf32>, %arg200: tensor<2048x768xf32>, %arg201: tensor<48x512x64xf32>, %arg202: tensor<48x64x512xf32>, %arg203: tensor<4x12x512x512xf32>, %arg204: tensor<4x12x512x512xf32>, %arg205: tensor<48x512x512xf32>, %arg206: tensor<48x512x64xf32>, %arg207: tensor<768x768xf32>, %arg208: tensor<2048x768xf32>, %arg209: tensor<4x512x768xf32>, %arg210: tensor<4x512x768xf32>, %arg211: tensor<768x3072xf32>, %arg212: tensor<2048x768xf32>, %arg213: tensor<4x512x3072xf32>, %arg214: tensor<3072x768xf32>, %arg215: tensor<2048x3072xf32>, %arg216: tensor<4x512x768xf32>, %arg217: tensor<4x512x768xf32>, %arg218: tensor<768x768xf32>, %arg219: tensor<2048x768xf32>, %arg220: tensor<768x768xf32>, %arg221: tensor<2048x768xf32>, %arg222: tensor<768x768xf32>, %arg223: tensor<2048x768xf32>, %arg224: tensor<48x512x64xf32>, %arg225: tensor<48x64x512xf32>, %arg226: tensor<4x12x512x512xf32>, %arg227: tensor<4x12x512x512xf32>, %arg228: tensor<48x512x512xf32>, %arg229: tensor<48x512x64xf32>, %arg230: tensor<768x768xf32>, %arg231: tensor<2048x768xf32>, %arg232: tensor<4x512x768xf32>, %arg233: tensor<4x512x768xf32>, %arg234: tensor<768x3072xf32>, %arg235: tensor<2048x768xf32>, %arg236: tensor<4x512x3072xf32>, %arg237: tensor<3072x768xf32>, %arg238: tensor<2048x3072xf32>, %arg239: tensor<4x512x768xf32>, %arg240: tensor<4x512x768xf32>, %arg241: tensor<768x768xf32>, %arg242: tensor<2048x768xf32>, %arg243: tensor<768x768xf32>, %arg244: tensor<2048x768xf32>, %arg245: tensor<768x768xf32>, %arg246: tensor<2048x768xf32>, %arg247: tensor<48x512x64xf32>, %arg248: tensor<48x64x512xf32>, %arg249: tensor<4x12x512x512xf32>, %arg250: tensor<4x12x512x512xf32>, %arg251: tensor<48x512x512xf32>, %arg252: tensor<48x512x64xf32>, %arg253: tensor<768x768xf32>, %arg254: tensor<2048x768xf32>, %arg255: tensor<4x512x768xf32>, %arg256: tensor<4x512x768xf32>, %arg257: tensor<768x3072xf32>, %arg258: tensor<2048x768xf32>, %arg259: tensor<4x512x3072xf32>, %arg260: tensor<3072x768xf32>, %arg261: tensor<2048x3072xf32>, %arg262: tensor<4x512x768xf32>, %arg263: tensor<4x512x768xf32>, %arg264: tensor<768x768xf32>, %arg265: tensor<2048x768xf32>, %arg266: tensor<768x768xf32>, %arg267: tensor<2048x768xf32>, %arg268: tensor<768x768xf32>, %arg269: tensor<2048x768xf32>, %arg270: tensor<48x512x64xf32>, %arg271: tensor<48x64x512xf32>, %arg272: tensor<4x12x512x512xf32>, %arg273: tensor<4x12x512x512xf32>, %arg274: tensor<48x512x512xf32>, %arg275: tensor<48x512x64xf32>, %arg276: tensor<768x768xf32>, %arg277: tensor<2048x768xf32>, %arg278: tensor<4x512x768xf32>, %arg279: tensor<4x512x768xf32>, %arg280: tensor<768x3072xf32>, %arg281: tensor<2048x768xf32>, %arg282: tensor<4x512x3072xf32>, %arg283: tensor<3072x768xf32>, %arg284: tensor<2048x3072xf32>, %arg285: tensor<4x512x768xf32>, %arg286: tensor<4x512x768xf32>, %arg287: tensor<768x768xf32>, %arg288: tensor<2048x768xf32>, %arg289: tensor<768x768xf32>, %arg290: tensor<2048x768xf32>, %arg291: tensor<768x768xf32>, %arg292: tensor<2048x768xf32>, %arg293: tensor<48x512x64xf32>, %arg294: tensor<48x64x512xf32>, %arg295: tensor<4x12x512x512xf32>, %arg296: tensor<4x12x512x512xf32>, %arg297: tensor<48x512x512xf32>, %arg298: tensor<48x512x64xf32>, %arg299: tensor<768x768xf32>, %arg300: tensor<2048x768xf32>, %arg301: tensor<4x512x768xf32>, %arg302: tensor<4x512x768xf32>, %arg303: tensor<768x3072xf32>, %arg304: tensor<2048x768xf32>, %arg305: tensor<4x512x3072xf32>, %arg306: tensor<3072x768xf32>, %arg307: tensor<2048x3072xf32>, %arg308: tensor<4x512x768xf32>, %arg309: tensor<4x512x768xf32>, %arg310: tensor<768x768xf32>, %arg311: tensor<2048x768xf32>, %arg312: tensor<768x768xf32>, %arg313: tensor<2048x768xf32>, %arg314: tensor<768x768xf32>, %arg315: tensor<2048x768xf32>, %arg316: tensor<48x512x64xf32>, %arg317: tensor<48x64x512xf32>, %arg318: tensor<4x12x512x512xf32>, %arg319: tensor<4x12x512x512xf32>, %arg320: tensor<48x512x512xf32>, %arg321: tensor<48x512x64xf32>, %arg322: tensor<768x768xf32>, %arg323: tensor<2048x768xf32>, %arg324: tensor<4x512x768xf32>, %arg325: tensor<4x512x768xf32>, %arg326: tensor<768x3072xf32>, %arg327: tensor<2048x768xf32>, %arg328: tensor<4x512x3072xf32>, %arg329: tensor<3072x768xf32>, %arg330: tensor<2048x3072xf32>, %arg331: tensor<4x512x768xf32>, %arg332: tensor<4x512x768xf32>, %arg333: tensor<768x768xf32>, %arg334: tensor<2048x768xf32>, %arg335: tensor<4x512x768xf32>, %arg336: tensor<4x512x768xf32>, %arg337: tensor<768x30522xf32>, %arg338: tensor<2048x768xf32>, %arg339: tensor<2048xi64>, %arg340: tensor<2048x30522xf32>, %arg341: tensor<f32>, %arg342: tensor<4x512x30522xf32>) -> (tensor<768xf32>, tensor<768xf32>, tensor<512x768xf32>, tensor<2x768xf32>, tensor<30522x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<1xf32>, tensor<30522xf32>, tensor<30522x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<1xf32>, tensor<1xf32>, tensor<1xf32>, tensor<1xf32>) { | |
| %c2048_i64 = arith.constant 2048 : i64 | |
| %c0_i64 = arith.constant 0 : i64 | |
| %c2_i64 = arith.constant 2 : i64 | |
| %c1_i64 = arith.constant 1 : i64 | |
| %c512_i64 = arith.constant 512 : i64 | |
| %cst = arith.constant 0.000000e+00 : f32 | |
| %cst_0 = arith.constant 1.000000e+00 : f64 | |
| %c12_i64 = arith.constant 12 : i64 | |
| %c4_i64 = arith.constant 4 : i64 | |
| %c3_i64 = arith.constant 3 : i64 | |
| %cst_1 = arith.constant 5.000000e-01 : f32 | |
| %cst_2 = arith.constant 1.000000e+00 : f32 | |
| %cst_3 = arith.constant 2.000000e+00 : f32 | |
| %cst_4 = arith.constant -5.000000e-01 : f32 | |
| %cst_5 = arith.constant 0.398942292 : f32 | |
| %c768_i64 = arith.constant 768 : i64 | |
| %cst_6 = arith.constant 9.9999999999999998E-13 : f64 | |
| %c-100_i64 = arith.constant -100 : i64 | |
| %c-1_i64 = arith.constant -1 : i64 | |
| %cst_7 = arith.constant dense<0.000000e+00> : tensor<1xf32> | |
| %cst_8 = arith.constant dense<8.000000e+00> : tensor<f64> | |
| %cst_9 = arith.constant dense<768> : tensor<i64> | |
| %0 = arith.cmpi eq, %c768_i64, %c768_i64 : i64 | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %1 = arith.sitofp %c768_i64 : i64 to f32 | |
| %2 = linalg.init_tensor [4, 512] : tensor<4x512xf32> | |
| %3 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %4 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg55 : tensor<4x512x768xf32>) outs(%3 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %5 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%4 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %6 = tensor.cast %5 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %7 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %8 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg55, %5 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%7 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %9 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%8 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %10 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%9 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %11 = tensor.cast %10 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %12 = tensor.expand_shape %6 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %13 = tensor.expand_shape %11 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %14 = tensor.cast %12 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %15 = tensor.cast %13 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %16 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %17 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg72 : tensor<4x512x768xf32>) outs(%16 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %18 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%17 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %19 = tensor.cast %18 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %20 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %21 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg72, %18 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%20 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %22 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%21 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %23 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%22 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %24 = tensor.cast %23 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %25 = tensor.expand_shape %19 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %26 = tensor.expand_shape %24 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %27 = tensor.cast %25 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %28 = tensor.cast %26 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %29 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %30 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg79 : tensor<4x512x768xf32>) outs(%29 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %31 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%30 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %32 = tensor.cast %31 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %33 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %34 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg79, %31 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%33 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %35 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%34 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %36 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%35 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %37 = tensor.cast %36 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %38 = tensor.expand_shape %32 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %39 = tensor.expand_shape %37 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %40 = tensor.cast %38 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %41 = tensor.cast %39 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %42 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %43 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg95 : tensor<4x512x768xf32>) outs(%42 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %44 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%43 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %45 = tensor.cast %44 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %46 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %47 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg95, %44 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%46 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %48 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%47 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %49 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%48 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %50 = tensor.cast %49 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %51 = tensor.expand_shape %45 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %52 = tensor.expand_shape %50 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %53 = tensor.cast %51 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %54 = tensor.cast %52 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %55 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %56 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg102 : tensor<4x512x768xf32>) outs(%55 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %57 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%56 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %58 = tensor.cast %57 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %59 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %60 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg102, %57 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%59 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %61 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%60 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %62 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%61 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %63 = tensor.cast %62 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %64 = tensor.expand_shape %58 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %65 = tensor.expand_shape %63 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %66 = tensor.cast %64 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %67 = tensor.cast %65 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %68 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %69 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg118 : tensor<4x512x768xf32>) outs(%68 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %70 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%69 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %71 = tensor.cast %70 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %72 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %73 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg118, %70 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%72 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %74 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%73 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %75 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%74 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %76 = tensor.cast %75 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %77 = tensor.expand_shape %71 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %78 = tensor.expand_shape %76 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %79 = tensor.cast %77 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %80 = tensor.cast %78 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %81 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %82 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg125 : tensor<4x512x768xf32>) outs(%81 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %83 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%82 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %84 = tensor.cast %83 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %85 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %86 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg125, %83 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%85 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %87 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%86 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %88 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%87 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %89 = tensor.cast %88 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %90 = tensor.expand_shape %84 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %91 = tensor.expand_shape %89 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %92 = tensor.cast %90 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %93 = tensor.cast %91 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %94 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %95 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg141 : tensor<4x512x768xf32>) outs(%94 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %96 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%95 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %97 = tensor.cast %96 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %98 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %99 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg141, %96 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%98 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %100 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%99 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %101 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%100 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %102 = tensor.cast %101 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %103 = tensor.expand_shape %97 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %104 = tensor.expand_shape %102 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %105 = tensor.cast %103 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %106 = tensor.cast %104 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %107 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %108 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg148 : tensor<4x512x768xf32>) outs(%107 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %109 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%108 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %110 = tensor.cast %109 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %111 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %112 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg148, %109 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%111 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %113 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%112 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %114 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%113 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %115 = tensor.cast %114 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %116 = tensor.expand_shape %110 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %117 = tensor.expand_shape %115 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %118 = tensor.cast %116 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %119 = tensor.cast %117 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %120 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %121 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg164 : tensor<4x512x768xf32>) outs(%120 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %122 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%121 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %123 = tensor.cast %122 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %124 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %125 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg164, %122 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%124 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %126 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%125 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %127 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%126 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %128 = tensor.cast %127 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %129 = tensor.expand_shape %123 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %130 = tensor.expand_shape %128 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %131 = tensor.cast %129 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %132 = tensor.cast %130 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %133 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %134 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg171 : tensor<4x512x768xf32>) outs(%133 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %135 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%134 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %136 = tensor.cast %135 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %137 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %138 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg171, %135 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%137 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %139 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%138 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %140 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%139 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %141 = tensor.cast %140 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %142 = tensor.expand_shape %136 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %143 = tensor.expand_shape %141 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %144 = tensor.cast %142 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %145 = tensor.cast %143 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %146 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %147 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg187 : tensor<4x512x768xf32>) outs(%146 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %148 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%147 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %149 = tensor.cast %148 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %150 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %151 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg187, %148 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%150 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %152 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%151 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %153 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%152 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %154 = tensor.cast %153 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %155 = tensor.expand_shape %149 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %156 = tensor.expand_shape %154 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %157 = tensor.cast %155 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %158 = tensor.cast %156 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %159 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %160 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg194 : tensor<4x512x768xf32>) outs(%159 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %161 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%160 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %162 = tensor.cast %161 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %163 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %164 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg194, %161 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%163 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %165 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%164 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %166 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%165 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %167 = tensor.cast %166 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %168 = tensor.expand_shape %162 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %169 = tensor.expand_shape %167 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %170 = tensor.cast %168 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %171 = tensor.cast %169 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %172 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %173 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg210 : tensor<4x512x768xf32>) outs(%172 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %174 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%173 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %175 = tensor.cast %174 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %176 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %177 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg210, %174 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%176 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %178 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%177 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %179 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%178 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %180 = tensor.cast %179 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %181 = tensor.expand_shape %175 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %182 = tensor.expand_shape %180 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %183 = tensor.cast %181 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %184 = tensor.cast %182 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %185 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %186 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg217 : tensor<4x512x768xf32>) outs(%185 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %187 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%186 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %188 = tensor.cast %187 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %189 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %190 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg217, %187 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%189 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %191 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%190 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %192 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%191 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %193 = tensor.cast %192 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %194 = tensor.expand_shape %188 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %195 = tensor.expand_shape %193 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %196 = tensor.cast %194 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %197 = tensor.cast %195 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %198 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %199 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg233 : tensor<4x512x768xf32>) outs(%198 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %200 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%199 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %201 = tensor.cast %200 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %202 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %203 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg233, %200 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%202 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %204 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%203 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %205 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%204 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %206 = tensor.cast %205 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %207 = tensor.expand_shape %201 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %208 = tensor.expand_shape %206 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %209 = tensor.cast %207 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %210 = tensor.cast %208 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %211 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %212 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg240 : tensor<4x512x768xf32>) outs(%211 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %213 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%212 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %214 = tensor.cast %213 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %215 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %216 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg240, %213 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%215 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %217 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%216 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %218 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%217 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %219 = tensor.cast %218 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %220 = tensor.expand_shape %214 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %221 = tensor.expand_shape %219 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %222 = tensor.cast %220 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %223 = tensor.cast %221 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %224 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %225 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg256 : tensor<4x512x768xf32>) outs(%224 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %226 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%225 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %227 = tensor.cast %226 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %228 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %229 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg256, %226 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%228 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %230 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%229 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %231 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%230 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %232 = tensor.cast %231 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %233 = tensor.expand_shape %227 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %234 = tensor.expand_shape %232 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %235 = tensor.cast %233 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %236 = tensor.cast %234 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %237 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %238 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg263 : tensor<4x512x768xf32>) outs(%237 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %239 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%238 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %240 = tensor.cast %239 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %241 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %242 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg263, %239 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%241 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %243 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%242 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %244 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%243 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %245 = tensor.cast %244 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %246 = tensor.expand_shape %240 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %247 = tensor.expand_shape %245 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %248 = tensor.cast %246 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %249 = tensor.cast %247 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %250 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %251 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg279 : tensor<4x512x768xf32>) outs(%250 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %252 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%251 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %253 = tensor.cast %252 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %254 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %255 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg279, %252 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%254 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %256 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%255 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %257 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%256 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %258 = tensor.cast %257 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %259 = tensor.expand_shape %253 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %260 = tensor.expand_shape %258 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %261 = tensor.cast %259 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %262 = tensor.cast %260 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %263 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %264 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg286 : tensor<4x512x768xf32>) outs(%263 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %265 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%264 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %266 = tensor.cast %265 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %267 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %268 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg286, %265 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%267 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %269 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%268 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %270 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%269 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %271 = tensor.cast %270 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %272 = tensor.expand_shape %266 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %273 = tensor.expand_shape %271 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %274 = tensor.cast %272 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %275 = tensor.cast %273 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %276 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %277 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg302 : tensor<4x512x768xf32>) outs(%276 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %278 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%277 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %279 = tensor.cast %278 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %280 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %281 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg302, %278 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%280 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %282 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%281 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %283 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%282 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %284 = tensor.cast %283 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %285 = tensor.expand_shape %279 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %286 = tensor.expand_shape %284 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %287 = tensor.cast %285 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %288 = tensor.cast %286 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %289 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %290 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg309 : tensor<4x512x768xf32>) outs(%289 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %291 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%290 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %292 = tensor.cast %291 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %293 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %294 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg309, %291 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%293 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %295 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%294 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %296 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%295 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %297 = tensor.cast %296 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %298 = tensor.expand_shape %292 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %299 = tensor.expand_shape %297 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %300 = tensor.cast %298 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %301 = tensor.cast %299 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %302 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %303 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg325 : tensor<4x512x768xf32>) outs(%302 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %304 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%303 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %305 = tensor.cast %304 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %306 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %307 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg325, %304 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%306 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %308 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%307 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %309 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%308 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %310 = tensor.cast %309 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %311 = tensor.expand_shape %305 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %312 = tensor.expand_shape %310 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %313 = tensor.cast %311 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %314 = tensor.cast %312 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %315 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %316 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg332 : tensor<4x512x768xf32>) outs(%315 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %317 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%316 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %318 = tensor.cast %317 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %319 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %320 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg332, %317 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%319 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %321 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%320 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %322 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%321 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %323 = tensor.cast %322 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %324 = tensor.expand_shape %318 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %325 = tensor.expand_shape %323 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %326 = tensor.cast %324 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %327 = tensor.cast %325 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| cf.assert %0, "mismatching contracting dimension" | |
| %328 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %329 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg336 : tensor<4x512x768xf32>) outs(%328 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %330 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%329 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %331 = tensor.cast %330 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %332 = linalg.fill ins(%cst : f32) outs(%2 : tensor<4x512xf32>) -> tensor<4x512xf32> | |
| %333 = linalg.generic {indexing_maps = [#map0, #map1, #map1], iterator_types = ["parallel", "parallel", "reduction"]} ins(%arg336, %330 : tensor<4x512x768xf32>, tensor<4x512xf32>) outs(%332 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.subf %arg343, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %2561 : f32 | |
| %2563 = arith.addf %arg345, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %334 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%333 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.divf %arg343, %1 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512xf32> | |
| %335 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%334 : tensor<4x512xf32>) outs(%2 : tensor<4x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.truncf %cst_6 : f64 to f32 | |
| %2562 = arith.addf %arg343, %2561 : f32 | |
| %2563 = math.rsqrt %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512xf32> | |
| %336 = tensor.cast %335 : tensor<4x512xf32> to tensor<?x?xf32> | |
| %337 = tensor.expand_shape %331 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %338 = tensor.expand_shape %336 [[0], [1, 2]] : tensor<?x?xf32> into tensor<?x?x1xf32> | |
| %339 = tensor.cast %337 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %340 = tensor.cast %338 : tensor<?x?x1xf32> to tensor<4x512x1xf32> | |
| %341 = linalg.init_tensor [] : tensor<f32> | |
| %342 = linalg.fill ins(%cst : f32) outs(%341 : tensor<f32>) -> tensor<f32> | |
| %343 = arith.index_cast %c-100_i64 : i64 to index | |
| %344 = linalg.init_tensor [2048, 30522] : tensor<2048x30522xf32> | |
| %345 = linalg.fill ins(%cst : f32) outs(%344 : tensor<2048x30522xf32>) -> tensor<2048x30522xf32> | |
| %346 = linalg.generic {indexing_maps = [#map3, #map4, #map3, #map2], iterator_types = ["parallel", "parallel"]} ins(%arg341, %arg339, %342 : tensor<f32>, tensor<2048xi64>, tensor<f32>) outs(%345 : tensor<2048x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32, %arg346: f32): | |
| %2561 = arith.index_cast %arg344 : i64 to index | |
| %2562 = linalg.index 1 : index | |
| %2563 = arith.divf %arg343, %arg345 : f32 | |
| %2564 = arith.negf %2563 : f32 | |
| %2565 = arith.cmpi ne, %2561, %2562 : index | |
| %2566 = arith.cmpi eq, %2561, %343 : index | |
| %2567 = arith.ori %2565, %2566 : i1 | |
| %2568 = arith.select %2567, %cst, %2564 : f32 | |
| linalg.yield %2568 : f32 | |
| } -> tensor<2048x30522xf32> | |
| %347 = linalg.generic {indexing_maps = [#map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%arg340 : tensor<2048x30522xf32>) outs(%344 : tensor<2048x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = math.exp %arg343 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<2048x30522xf32> | |
| %348 = linalg.init_tensor [2048, 1] : tensor<2048x1xf32> | |
| %349 = linalg.fill ins(%cst : f32) outs(%348 : tensor<2048x1xf32>) -> tensor<2048x1xf32> | |
| %350 = linalg.generic {indexing_maps = [#map2, #map5], iterator_types = ["parallel", "reduction"]} ins(%346 : tensor<2048x30522xf32>) outs(%349 : tensor<2048x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<2048x1xf32> | |
| %351 = arith.addi %c0_i64, %c2_i64 : i64 | |
| %352 = arith.cmpi sge, %c0_i64, %c0_i64 : i64 | |
| %353 = arith.select %352, %c0_i64, %351 : i64 | |
| %354 = arith.cmpi sge, %353, %c0_i64 : i64 | |
| cf.assert %354, "dim must be greater or equal to zero" | |
| %355 = arith.cmpi slt, %353, %c2_i64 : i64 | |
| cf.assert %355, "dim must be smaller than inputRank" | |
| %356 = arith.index_cast %353 : i64 to index | |
| %357 = tensor.dim %346, %356 : tensor<2048x30522xf32> | |
| %358 = arith.index_cast %357 : index to i64 | |
| %359 = arith.addi %c1_i64, %c2_i64 : i64 | |
| %360 = arith.cmpi sge, %c1_i64, %c0_i64 : i64 | |
| %361 = arith.select %360, %c1_i64, %359 : i64 | |
| %362 = arith.cmpi sge, %361, %c0_i64 : i64 | |
| cf.assert %362, "dim must be greater or equal to zero" | |
| %363 = arith.cmpi slt, %361, %c2_i64 : i64 | |
| cf.assert %363, "dim must be smaller than inputRank" | |
| %364 = arith.cmpi slt, %358, %c0_i64 : i64 | |
| %365 = arith.cmpi eq, %c2048_i64, %358 : i64 | |
| %366 = arith.ori %364, %365 : i1 | |
| cf.assert %366, "only broadcasting singleton dimensions supported" | |
| %367 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%350 : tensor<2048x1xf32>) outs(%344 : tensor<2048x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<2048x30522xf32> | |
| %368 = linalg.generic {indexing_maps = [#map2, #map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%347, %367 : tensor<2048x30522xf32>, tensor<2048x30522xf32>) outs(%344 : tensor<2048x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<2048x30522xf32> | |
| %369 = linalg.generic {indexing_maps = [#map2, #map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%346, %368 : tensor<2048x30522xf32>, tensor<2048x30522xf32>) outs(%344 : tensor<2048x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<2048x30522xf32> | |
| %370 = tensor.expand_shape %369 [[0, 1], [2]] : tensor<2048x30522xf32> into tensor<4x512x30522xf32> | |
| %371 = linalg.init_tensor [4, 512, 30522] : tensor<4x512x30522xf32> | |
| %372 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg342, %370 : tensor<4x512x30522xf32>, tensor<4x512x30522xf32>) outs(%371 : tensor<4x512x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x30522xf32> | |
| %373 = tensor.collapse_shape %372 [[0, 1], [2]] : tensor<4x512x30522xf32> into tensor<2048x30522xf32> | |
| %374 = linalg.init_tensor [30522, 768] : tensor<30522x768xf32> | |
| %375 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg337 : tensor<768x30522xf32>) outs(%374 : tensor<30522x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<30522x768xf32> | |
| %376 = linalg.init_tensor [2048, 768] : tensor<2048x768xf32> | |
| %377 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %378 = linalg.matmul ins(%373, %375 : tensor<2048x30522xf32>, tensor<30522x768xf32>) outs(%377 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %379 = linalg.init_tensor [30522, 2048] : tensor<30522x2048xf32> | |
| %380 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%373 : tensor<2048x30522xf32>) outs(%379 : tensor<30522x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<30522x2048xf32> | |
| %381 = linalg.fill ins(%cst : f32) outs(%374 : tensor<30522x768xf32>) -> tensor<30522x768xf32> | |
| %382 = linalg.matmul ins(%380, %arg338 : tensor<30522x2048xf32>, tensor<2048x768xf32>) outs(%381 : tensor<30522x768xf32>) -> tensor<30522x768xf32> | |
| %383 = linalg.init_tensor [768, 30522] : tensor<768x30522xf32> | |
| %384 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%382 : tensor<30522x768xf32>) outs(%383 : tensor<768x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x30522xf32> | |
| %385 = linalg.init_tensor [1, 30522] : tensor<1x30522xf32> | |
| %386 = linalg.fill ins(%cst : f32) outs(%385 : tensor<1x30522xf32>) -> tensor<1x30522xf32> | |
| %387 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%373 : tensor<2048x30522xf32>) outs(%386 : tensor<1x30522xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x30522xf32> | |
| %388 = tensor.collapse_shape %387 [[0, 1]] : tensor<1x30522xf32> into tensor<30522xf32> | |
| %389 = tensor.expand_shape %378 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %390 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%384 : tensor<768x30522xf32>) outs(%374 : tensor<30522x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<30522x768xf32> | |
| %391 = linalg.init_tensor [4, 512, 768] : tensor<4x512x768xf32> | |
| %392 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg336, %339 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %393 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%392, %340 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %394 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%389, %arg51 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %395 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%394, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %396 = linalg.init_tensor [4, 512, 1] : tensor<4x512x1xf32> | |
| %397 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %398 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%394 : tensor<4x512x768xf32>) outs(%397 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %399 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%394, %393 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %400 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %401 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%399 : tensor<4x512x768xf32>) outs(%400 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %402 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%393, %401 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %403 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%395, %398 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %404 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%403, %402 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %405 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%340, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %406 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%405, %404 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %407 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%389, %393 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %408 = linalg.init_tensor [768] : tensor<768xf32> | |
| %409 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %410 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%407 : tensor<4x512x768xf32>) outs(%409 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %411 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %412 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%389 : tensor<4x512x768xf32>) outs(%411 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %413 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%406, %arg335 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %414 = tensor.collapse_shape %413 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %415 = linalg.init_tensor [768, 768] : tensor<768x768xf32> | |
| %416 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg333 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %417 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %418 = linalg.matmul ins(%414, %416 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%417 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %419 = linalg.init_tensor [768, 2048] : tensor<768x2048xf32> | |
| %420 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%414 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %421 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %422 = linalg.matmul ins(%420, %arg334 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%421 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %423 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%422 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %424 = linalg.init_tensor [1, 768] : tensor<1x768xf32> | |
| %425 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %426 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%414 : tensor<2048x768xf32>) outs(%425 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %427 = tensor.collapse_shape %426 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %428 = tensor.expand_shape %418 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %429 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%423 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %430 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg332, %326 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %431 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%430, %327 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %432 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%428, %arg17 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %433 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%432, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %434 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %435 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%432 : tensor<4x512x768xf32>) outs(%434 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %436 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%432, %431 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %437 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %438 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%436 : tensor<4x512x768xf32>) outs(%437 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %439 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%431, %438 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %440 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%433, %435 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %441 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%440, %439 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %442 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%327, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %443 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%442, %441 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %444 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%428, %431 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %445 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %446 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%444 : tensor<4x512x768xf32>) outs(%445 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %447 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %448 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%428 : tensor<4x512x768xf32>) outs(%447 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %449 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%443, %arg331 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %450 = tensor.collapse_shape %449 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %451 = linalg.init_tensor [768, 3072] : tensor<768x3072xf32> | |
| %452 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg329 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %453 = linalg.init_tensor [2048, 3072] : tensor<2048x3072xf32> | |
| %454 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %455 = linalg.matmul ins(%450, %452 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%454 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %456 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%450 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %457 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %458 = linalg.matmul ins(%456, %arg330 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%457 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %459 = linalg.init_tensor [3072, 768] : tensor<3072x768xf32> | |
| %460 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%458 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %461 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %462 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%450 : tensor<2048x768xf32>) outs(%461 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %463 = tensor.collapse_shape %462 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %464 = tensor.expand_shape %455 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %465 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%460 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %466 = linalg.init_tensor [4, 512, 3072] : tensor<4x512x3072xf32> | |
| %467 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%464, %arg328 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %468 = tensor.collapse_shape %467 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %469 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg326 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %470 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %471 = linalg.matmul ins(%468, %469 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%470 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %472 = linalg.init_tensor [3072, 2048] : tensor<3072x2048xf32> | |
| %473 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%468 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %474 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %475 = linalg.matmul ins(%473, %arg327 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%474 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %476 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%475 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %477 = linalg.init_tensor [1, 3072] : tensor<1x3072xf32> | |
| %478 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %479 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%468 : tensor<2048x3072xf32>) outs(%478 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %480 = tensor.collapse_shape %479 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %481 = tensor.expand_shape %471 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %482 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%443, %481 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %483 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%476 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %484 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg325, %313 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %485 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%484, %314 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %486 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%482, %arg15 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %487 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%486, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %488 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %489 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%486 : tensor<4x512x768xf32>) outs(%488 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %490 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%486, %485 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %491 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %492 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%490 : tensor<4x512x768xf32>) outs(%491 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %493 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%485, %492 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %494 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%487, %489 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %495 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%494, %493 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %496 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%314, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %497 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%496, %495 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %498 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%482, %485 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %499 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %500 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%498 : tensor<4x512x768xf32>) outs(%499 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %501 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %502 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%482 : tensor<4x512x768xf32>) outs(%501 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %503 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%497, %arg324 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %504 = tensor.collapse_shape %503 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %505 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg322 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %506 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %507 = linalg.matmul ins(%504, %505 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%506 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %508 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%504 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %509 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %510 = linalg.matmul ins(%508, %arg323 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%509 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %511 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%510 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %512 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %513 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%504 : tensor<2048x768xf32>) outs(%512 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %514 = tensor.collapse_shape %513 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %515 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%511 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %516 = tensor.expand_shape %507 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %517 = linalg.init_tensor [4, 12, 512, 64] : tensor<4x12x512x64xf32> | |
| %518 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%516 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %519 = tensor.collapse_shape %518 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %520 = linalg.init_tensor [48, 512, 512] : tensor<48x512x512xf32> | |
| %521 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg320 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %522 = linalg.init_tensor [48, 512, 64] : tensor<48x512x64xf32> | |
| %523 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %524 = linalg.batch_matmul ins(%521, %519 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%523 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %525 = linalg.init_tensor [48, 64, 512] : tensor<48x64x512xf32> | |
| %526 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg321 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %527 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %528 = linalg.batch_matmul ins(%519, %526 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%527 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %529 = tensor.expand_shape %524 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %530 = tensor.expand_shape %528 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %531 = linalg.init_tensor [4, 12, 512, 512] : tensor<4x12x512x512xf32> | |
| %532 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%530, %arg319 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %533 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%532, %arg318 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %534 = linalg.init_tensor [4, 12, 512, 1] : tensor<4x12x512x1xf32> | |
| %535 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %536 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%533 : tensor<4x12x512x512xf32>) outs(%535 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| %537 = arith.addi %c0_i64, %c4_i64 : i64 | |
| %538 = arith.select %352, %c0_i64, %537 : i64 | |
| %539 = arith.cmpi sge, %538, %c0_i64 : i64 | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| %540 = arith.cmpi slt, %538, %c4_i64 : i64 | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %541 = arith.index_cast %538 : i64 to index | |
| %542 = tensor.dim %533, %541 : tensor<4x12x512x512xf32> | |
| %543 = arith.index_cast %542 : index to i64 | |
| %544 = arith.addi %c1_i64, %c4_i64 : i64 | |
| %545 = arith.select %360, %c1_i64, %544 : i64 | |
| %546 = arith.cmpi sge, %545, %c0_i64 : i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| %547 = arith.cmpi slt, %545, %c4_i64 : i64 | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %548 = arith.index_cast %545 : i64 to index | |
| %549 = tensor.dim %533, %548 : tensor<4x12x512x512xf32> | |
| %550 = arith.index_cast %549 : index to i64 | |
| %551 = arith.addi %c2_i64, %c4_i64 : i64 | |
| %552 = arith.cmpi sge, %c2_i64, %c0_i64 : i64 | |
| %553 = arith.select %552, %c2_i64, %551 : i64 | |
| %554 = arith.cmpi sge, %553, %c0_i64 : i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| %555 = arith.cmpi slt, %553, %c4_i64 : i64 | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %556 = arith.index_cast %553 : i64 to index | |
| %557 = tensor.dim %533, %556 : tensor<4x12x512x512xf32> | |
| %558 = arith.index_cast %557 : index to i64 | |
| %559 = arith.addi %c3_i64, %c4_i64 : i64 | |
| %560 = arith.cmpi sge, %c3_i64, %c0_i64 : i64 | |
| %561 = arith.select %560, %c3_i64, %559 : i64 | |
| %562 = arith.cmpi sge, %561, %c0_i64 : i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| %563 = arith.cmpi slt, %561, %c4_i64 : i64 | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %564 = arith.cmpi slt, %543, %c0_i64 : i64 | |
| %565 = arith.cmpi eq, %c4_i64, %543 : i64 | |
| %566 = arith.ori %564, %565 : i1 | |
| cf.assert %566, "only broadcasting singleton dimensions supported" | |
| %567 = arith.cmpi slt, %550, %c0_i64 : i64 | |
| %568 = arith.cmpi eq, %c12_i64, %550 : i64 | |
| %569 = arith.ori %567, %568 : i1 | |
| cf.assert %569, "only broadcasting singleton dimensions supported" | |
| %570 = arith.cmpi slt, %558, %c0_i64 : i64 | |
| %571 = arith.cmpi eq, %c512_i64, %558 : i64 | |
| %572 = arith.ori %570, %571 : i1 | |
| cf.assert %572, "only broadcasting singleton dimensions supported" | |
| %573 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%536 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %574 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg318, %573 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %575 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%533, %574 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %576 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%575, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %577 = tensor.collapse_shape %576 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %578 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg316 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %579 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %580 = linalg.batch_matmul ins(%578, %577 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%579 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %581 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg317 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %582 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %583 = linalg.batch_matmul ins(%577, %581 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%582 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %584 = tensor.expand_shape %580 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %585 = tensor.expand_shape %583 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %586 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%584 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %587 = linalg.init_tensor [4, 512, 12, 64] : tensor<4x512x12x64xf32> | |
| %588 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%585 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %589 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%529 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %590 = tensor.collapse_shape %589 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %591 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg314 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %592 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %593 = linalg.matmul ins(%590, %591 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%592 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %594 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%590 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %595 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %596 = linalg.matmul ins(%594, %arg315 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%595 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %597 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%596 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %598 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %599 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%590 : tensor<2048x768xf32>) outs(%598 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %600 = tensor.collapse_shape %599 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %601 = tensor.expand_shape %593 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %602 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%497, %601 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %603 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%597 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %604 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%586 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %605 = tensor.collapse_shape %604 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %606 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg312 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %607 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %608 = linalg.matmul ins(%605, %606 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%607 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %609 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%605 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %610 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %611 = linalg.matmul ins(%609, %arg313 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%610 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %612 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%611 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %613 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %614 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%605 : tensor<2048x768xf32>) outs(%613 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %615 = tensor.collapse_shape %614 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %616 = tensor.expand_shape %608 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %617 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%602, %616 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %618 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%612 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %619 = tensor.collapse_shape %588 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %620 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg310 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %621 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %622 = linalg.matmul ins(%619, %620 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%621 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %623 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%619 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %624 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %625 = linalg.matmul ins(%623, %arg311 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%624 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %626 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%625 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %627 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %628 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%619 : tensor<2048x768xf32>) outs(%627 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %629 = tensor.collapse_shape %628 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %630 = tensor.expand_shape %622 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %631 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%617, %630 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %632 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%626 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %633 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg309, %300 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %634 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%633, %301 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %635 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%631, %arg13 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %636 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%635, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %637 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %638 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%635 : tensor<4x512x768xf32>) outs(%637 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %639 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%635, %634 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %640 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %641 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%639 : tensor<4x512x768xf32>) outs(%640 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %642 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%634, %641 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %643 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%636, %638 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %644 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%643, %642 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %645 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%301, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %646 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%645, %644 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %647 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%631, %634 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %648 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %649 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%647 : tensor<4x512x768xf32>) outs(%648 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %650 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %651 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%631 : tensor<4x512x768xf32>) outs(%650 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %652 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%646, %arg308 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %653 = tensor.collapse_shape %652 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %654 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg306 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %655 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %656 = linalg.matmul ins(%653, %654 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%655 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %657 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%653 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %658 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %659 = linalg.matmul ins(%657, %arg307 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%658 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %660 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%659 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %661 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %662 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%653 : tensor<2048x768xf32>) outs(%661 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %663 = tensor.collapse_shape %662 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %664 = tensor.expand_shape %656 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %665 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%660 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %666 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%664, %arg305 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %667 = tensor.collapse_shape %666 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %668 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg303 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %669 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %670 = linalg.matmul ins(%667, %668 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%669 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %671 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%667 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %672 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %673 = linalg.matmul ins(%671, %arg304 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%672 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %674 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%673 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %675 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %676 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%667 : tensor<2048x3072xf32>) outs(%675 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %677 = tensor.collapse_shape %676 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %678 = tensor.expand_shape %670 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %679 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%646, %678 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %680 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%674 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %681 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg302, %287 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %682 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%681, %288 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %683 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%679, %arg11 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %684 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%683, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %685 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %686 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%683 : tensor<4x512x768xf32>) outs(%685 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %687 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%683, %682 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %688 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %689 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%687 : tensor<4x512x768xf32>) outs(%688 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %690 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%682, %689 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %691 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%684, %686 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %692 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%691, %690 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %693 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%288, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %694 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%693, %692 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %695 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%679, %682 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %696 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %697 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%695 : tensor<4x512x768xf32>) outs(%696 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %698 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %699 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%679 : tensor<4x512x768xf32>) outs(%698 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %700 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%694, %arg301 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %701 = tensor.collapse_shape %700 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %702 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg299 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %703 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %704 = linalg.matmul ins(%701, %702 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%703 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %705 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%701 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %706 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %707 = linalg.matmul ins(%705, %arg300 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%706 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %708 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%707 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %709 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %710 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%701 : tensor<2048x768xf32>) outs(%709 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %711 = tensor.collapse_shape %710 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %712 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%708 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %713 = tensor.expand_shape %704 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %714 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%713 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %715 = tensor.collapse_shape %714 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %716 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg297 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %717 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %718 = linalg.batch_matmul ins(%716, %715 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%717 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %719 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg298 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %720 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %721 = linalg.batch_matmul ins(%715, %719 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%720 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %722 = tensor.expand_shape %718 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %723 = tensor.expand_shape %721 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %724 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%723, %arg296 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %725 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%724, %arg295 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %726 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %727 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%725 : tensor<4x12x512x512xf32>) outs(%726 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %728 = tensor.dim %725, %541 : tensor<4x12x512x512xf32> | |
| %729 = arith.index_cast %728 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %730 = tensor.dim %725, %548 : tensor<4x12x512x512xf32> | |
| %731 = arith.index_cast %730 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %732 = tensor.dim %725, %556 : tensor<4x12x512x512xf32> | |
| %733 = arith.index_cast %732 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %734 = arith.cmpi slt, %729, %c0_i64 : i64 | |
| %735 = arith.cmpi eq, %c4_i64, %729 : i64 | |
| %736 = arith.ori %734, %735 : i1 | |
| cf.assert %736, "only broadcasting singleton dimensions supported" | |
| %737 = arith.cmpi slt, %731, %c0_i64 : i64 | |
| %738 = arith.cmpi eq, %c12_i64, %731 : i64 | |
| %739 = arith.ori %737, %738 : i1 | |
| cf.assert %739, "only broadcasting singleton dimensions supported" | |
| %740 = arith.cmpi slt, %733, %c0_i64 : i64 | |
| %741 = arith.cmpi eq, %c512_i64, %733 : i64 | |
| %742 = arith.ori %740, %741 : i1 | |
| cf.assert %742, "only broadcasting singleton dimensions supported" | |
| %743 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%727 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %744 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg295, %743 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %745 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%725, %744 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %746 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%745, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %747 = tensor.collapse_shape %746 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %748 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg293 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %749 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %750 = linalg.batch_matmul ins(%748, %747 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%749 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %751 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg294 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %752 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %753 = linalg.batch_matmul ins(%747, %751 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%752 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %754 = tensor.expand_shape %750 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %755 = tensor.expand_shape %753 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %756 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%754 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %757 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%755 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %758 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%722 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %759 = tensor.collapse_shape %758 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %760 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg291 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %761 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %762 = linalg.matmul ins(%759, %760 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%761 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %763 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%759 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %764 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %765 = linalg.matmul ins(%763, %arg292 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%764 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %766 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%765 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %767 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %768 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%759 : tensor<2048x768xf32>) outs(%767 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %769 = tensor.collapse_shape %768 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %770 = tensor.expand_shape %762 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %771 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%694, %770 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %772 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%766 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %773 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%756 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %774 = tensor.collapse_shape %773 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %775 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg289 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %776 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %777 = linalg.matmul ins(%774, %775 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%776 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %778 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%774 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %779 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %780 = linalg.matmul ins(%778, %arg290 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%779 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %781 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%780 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %782 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %783 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%774 : tensor<2048x768xf32>) outs(%782 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %784 = tensor.collapse_shape %783 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %785 = tensor.expand_shape %777 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %786 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%771, %785 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %787 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%781 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %788 = tensor.collapse_shape %757 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %789 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg287 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %790 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %791 = linalg.matmul ins(%788, %789 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%790 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %792 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%788 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %793 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %794 = linalg.matmul ins(%792, %arg288 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%793 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %795 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%794 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %796 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %797 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%788 : tensor<2048x768xf32>) outs(%796 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %798 = tensor.collapse_shape %797 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %799 = tensor.expand_shape %791 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %800 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%786, %799 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %801 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%795 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %802 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg286, %274 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %803 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%802, %275 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %804 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%800, %arg49 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %805 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%804, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %806 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %807 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%804 : tensor<4x512x768xf32>) outs(%806 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %808 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%804, %803 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %809 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %810 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%808 : tensor<4x512x768xf32>) outs(%809 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %811 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%803, %810 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %812 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%805, %807 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %813 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%812, %811 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %814 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%275, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %815 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%814, %813 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %816 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%800, %803 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %817 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %818 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%816 : tensor<4x512x768xf32>) outs(%817 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %819 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %820 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%800 : tensor<4x512x768xf32>) outs(%819 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %821 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%815, %arg285 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %822 = tensor.collapse_shape %821 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %823 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg283 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %824 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %825 = linalg.matmul ins(%822, %823 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%824 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %826 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%822 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %827 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %828 = linalg.matmul ins(%826, %arg284 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%827 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %829 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%828 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %830 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %831 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%822 : tensor<2048x768xf32>) outs(%830 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %832 = tensor.collapse_shape %831 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %833 = tensor.expand_shape %825 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %834 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%829 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %835 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%833, %arg282 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %836 = tensor.collapse_shape %835 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %837 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg280 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %838 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %839 = linalg.matmul ins(%836, %837 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%838 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %840 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%836 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %841 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %842 = linalg.matmul ins(%840, %arg281 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%841 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %843 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%842 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %844 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %845 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%836 : tensor<2048x3072xf32>) outs(%844 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %846 = tensor.collapse_shape %845 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %847 = tensor.expand_shape %839 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %848 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%815, %847 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %849 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%843 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %850 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg279, %261 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %851 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%850, %262 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %852 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%848, %arg47 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %853 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%852, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %854 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %855 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%852 : tensor<4x512x768xf32>) outs(%854 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %856 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%852, %851 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %857 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %858 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%856 : tensor<4x512x768xf32>) outs(%857 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %859 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%851, %858 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %860 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%853, %855 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %861 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%860, %859 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %862 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%262, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %863 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%862, %861 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %864 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%848, %851 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %865 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %866 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%864 : tensor<4x512x768xf32>) outs(%865 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %867 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %868 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%848 : tensor<4x512x768xf32>) outs(%867 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %869 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%863, %arg278 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %870 = tensor.collapse_shape %869 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %871 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg276 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %872 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %873 = linalg.matmul ins(%870, %871 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%872 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %874 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%870 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %875 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %876 = linalg.matmul ins(%874, %arg277 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%875 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %877 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%876 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %878 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %879 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%870 : tensor<2048x768xf32>) outs(%878 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %880 = tensor.collapse_shape %879 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %881 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%877 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %882 = tensor.expand_shape %873 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %883 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%882 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %884 = tensor.collapse_shape %883 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %885 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg274 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %886 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %887 = linalg.batch_matmul ins(%885, %884 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%886 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %888 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg275 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %889 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %890 = linalg.batch_matmul ins(%884, %888 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%889 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %891 = tensor.expand_shape %887 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %892 = tensor.expand_shape %890 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %893 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%892, %arg273 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %894 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%893, %arg272 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %895 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %896 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%894 : tensor<4x12x512x512xf32>) outs(%895 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %897 = tensor.dim %894, %541 : tensor<4x12x512x512xf32> | |
| %898 = arith.index_cast %897 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %899 = tensor.dim %894, %548 : tensor<4x12x512x512xf32> | |
| %900 = arith.index_cast %899 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %901 = tensor.dim %894, %556 : tensor<4x12x512x512xf32> | |
| %902 = arith.index_cast %901 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %903 = arith.cmpi slt, %898, %c0_i64 : i64 | |
| %904 = arith.cmpi eq, %c4_i64, %898 : i64 | |
| %905 = arith.ori %903, %904 : i1 | |
| cf.assert %905, "only broadcasting singleton dimensions supported" | |
| %906 = arith.cmpi slt, %900, %c0_i64 : i64 | |
| %907 = arith.cmpi eq, %c12_i64, %900 : i64 | |
| %908 = arith.ori %906, %907 : i1 | |
| cf.assert %908, "only broadcasting singleton dimensions supported" | |
| %909 = arith.cmpi slt, %902, %c0_i64 : i64 | |
| %910 = arith.cmpi eq, %c512_i64, %902 : i64 | |
| %911 = arith.ori %909, %910 : i1 | |
| cf.assert %911, "only broadcasting singleton dimensions supported" | |
| %912 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%896 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %913 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg272, %912 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %914 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%894, %913 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %915 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%914, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %916 = tensor.collapse_shape %915 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %917 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg270 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %918 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %919 = linalg.batch_matmul ins(%917, %916 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%918 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %920 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg271 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %921 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %922 = linalg.batch_matmul ins(%916, %920 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%921 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %923 = tensor.expand_shape %919 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %924 = tensor.expand_shape %922 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %925 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%923 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %926 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%924 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %927 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%891 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %928 = tensor.collapse_shape %927 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %929 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg268 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %930 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %931 = linalg.matmul ins(%928, %929 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%930 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %932 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%928 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %933 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %934 = linalg.matmul ins(%932, %arg269 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%933 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %935 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%934 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %936 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %937 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%928 : tensor<2048x768xf32>) outs(%936 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %938 = tensor.collapse_shape %937 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %939 = tensor.expand_shape %931 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %940 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%863, %939 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %941 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%935 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %942 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%925 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %943 = tensor.collapse_shape %942 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %944 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg266 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %945 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %946 = linalg.matmul ins(%943, %944 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%945 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %947 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%943 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %948 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %949 = linalg.matmul ins(%947, %arg267 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%948 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %950 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%949 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %951 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %952 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%943 : tensor<2048x768xf32>) outs(%951 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %953 = tensor.collapse_shape %952 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %954 = tensor.expand_shape %946 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %955 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%940, %954 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %956 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%950 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %957 = tensor.collapse_shape %926 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %958 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg264 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %959 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %960 = linalg.matmul ins(%957, %958 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%959 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %961 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%957 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %962 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %963 = linalg.matmul ins(%961, %arg265 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%962 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %964 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%963 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %965 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %966 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%957 : tensor<2048x768xf32>) outs(%965 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %967 = tensor.collapse_shape %966 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %968 = tensor.expand_shape %960 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %969 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%955, %968 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %970 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%964 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %971 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg263, %248 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %972 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%971, %249 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %973 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%969, %arg45 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %974 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%973, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %975 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %976 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%973 : tensor<4x512x768xf32>) outs(%975 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %977 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%973, %972 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %978 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %979 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%977 : tensor<4x512x768xf32>) outs(%978 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %980 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%972, %979 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %981 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%974, %976 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %982 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%981, %980 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %983 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%249, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %984 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%983, %982 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %985 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%969, %972 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %986 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %987 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%985 : tensor<4x512x768xf32>) outs(%986 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %988 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %989 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%969 : tensor<4x512x768xf32>) outs(%988 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %990 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%984, %arg262 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %991 = tensor.collapse_shape %990 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %992 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg260 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %993 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %994 = linalg.matmul ins(%991, %992 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%993 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %995 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%991 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %996 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %997 = linalg.matmul ins(%995, %arg261 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%996 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %998 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%997 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %999 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1000 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%991 : tensor<2048x768xf32>) outs(%999 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1001 = tensor.collapse_shape %1000 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1002 = tensor.expand_shape %994 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1003 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%998 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1004 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1002, %arg259 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1005 = tensor.collapse_shape %1004 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1006 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg257 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1007 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1008 = linalg.matmul ins(%1005, %1006 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1007 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1009 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1005 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1010 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1011 = linalg.matmul ins(%1009, %arg258 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1010 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1012 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1011 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1013 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1014 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1005 : tensor<2048x3072xf32>) outs(%1013 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1015 = tensor.collapse_shape %1014 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1016 = tensor.expand_shape %1008 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1017 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%984, %1016 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1018 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1012 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1019 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg256, %235 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1020 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1019, %236 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1021 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1017, %arg43 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1022 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1021, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1023 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1024 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1021 : tensor<4x512x768xf32>) outs(%1023 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1025 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1021, %1020 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1026 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1027 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1025 : tensor<4x512x768xf32>) outs(%1026 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1028 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1020, %1027 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1029 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1022, %1024 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1030 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1029, %1028 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1031 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%236, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1032 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1031, %1030 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1033 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1017, %1020 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1034 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1035 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1033 : tensor<4x512x768xf32>) outs(%1034 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1036 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1037 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1017 : tensor<4x512x768xf32>) outs(%1036 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1038 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1032, %arg255 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1039 = tensor.collapse_shape %1038 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1040 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg253 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1041 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1042 = linalg.matmul ins(%1039, %1040 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1041 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1043 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1039 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1044 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1045 = linalg.matmul ins(%1043, %arg254 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1044 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1046 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1045 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1047 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1048 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1039 : tensor<2048x768xf32>) outs(%1047 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1049 = tensor.collapse_shape %1048 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1050 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1046 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1051 = tensor.expand_shape %1042 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1052 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1051 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1053 = tensor.collapse_shape %1052 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1054 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg251 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1055 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1056 = linalg.batch_matmul ins(%1054, %1053 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1055 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1057 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg252 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1058 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1059 = linalg.batch_matmul ins(%1053, %1057 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1058 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1060 = tensor.expand_shape %1056 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1061 = tensor.expand_shape %1059 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1062 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1061, %arg250 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1063 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1062, %arg249 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1064 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1065 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1063 : tensor<4x12x512x512xf32>) outs(%1064 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1066 = tensor.dim %1063, %541 : tensor<4x12x512x512xf32> | |
| %1067 = arith.index_cast %1066 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1068 = tensor.dim %1063, %548 : tensor<4x12x512x512xf32> | |
| %1069 = arith.index_cast %1068 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1070 = tensor.dim %1063, %556 : tensor<4x12x512x512xf32> | |
| %1071 = arith.index_cast %1070 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1072 = arith.cmpi slt, %1067, %c0_i64 : i64 | |
| %1073 = arith.cmpi eq, %c4_i64, %1067 : i64 | |
| %1074 = arith.ori %1072, %1073 : i1 | |
| cf.assert %1074, "only broadcasting singleton dimensions supported" | |
| %1075 = arith.cmpi slt, %1069, %c0_i64 : i64 | |
| %1076 = arith.cmpi eq, %c12_i64, %1069 : i64 | |
| %1077 = arith.ori %1075, %1076 : i1 | |
| cf.assert %1077, "only broadcasting singleton dimensions supported" | |
| %1078 = arith.cmpi slt, %1071, %c0_i64 : i64 | |
| %1079 = arith.cmpi eq, %c512_i64, %1071 : i64 | |
| %1080 = arith.ori %1078, %1079 : i1 | |
| cf.assert %1080, "only broadcasting singleton dimensions supported" | |
| %1081 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1065 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1082 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg249, %1081 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1083 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1063, %1082 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1084 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1083, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1085 = tensor.collapse_shape %1084 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1086 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg247 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1087 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1088 = linalg.batch_matmul ins(%1086, %1085 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1087 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1089 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg248 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1090 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1091 = linalg.batch_matmul ins(%1085, %1089 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1090 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1092 = tensor.expand_shape %1088 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1093 = tensor.expand_shape %1091 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1094 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1092 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1095 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1093 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1096 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1060 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1097 = tensor.collapse_shape %1096 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1098 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg245 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1099 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1100 = linalg.matmul ins(%1097, %1098 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1099 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1101 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1097 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1102 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1103 = linalg.matmul ins(%1101, %arg246 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1102 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1104 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1103 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1105 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1106 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1097 : tensor<2048x768xf32>) outs(%1105 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1107 = tensor.collapse_shape %1106 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1108 = tensor.expand_shape %1100 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1109 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1032, %1108 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1110 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1104 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1111 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1094 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1112 = tensor.collapse_shape %1111 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1113 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg243 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1114 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1115 = linalg.matmul ins(%1112, %1113 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1114 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1116 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1112 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1117 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1118 = linalg.matmul ins(%1116, %arg244 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1117 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1119 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1118 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1120 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1121 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1112 : tensor<2048x768xf32>) outs(%1120 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1122 = tensor.collapse_shape %1121 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1123 = tensor.expand_shape %1115 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1124 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1109, %1123 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1125 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1119 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1126 = tensor.collapse_shape %1095 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1127 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg241 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1128 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1129 = linalg.matmul ins(%1126, %1127 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1128 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1130 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1126 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1131 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1132 = linalg.matmul ins(%1130, %arg242 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1131 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1133 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1132 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1134 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1135 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1126 : tensor<2048x768xf32>) outs(%1134 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1136 = tensor.collapse_shape %1135 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1137 = tensor.expand_shape %1129 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1138 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1124, %1137 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1139 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1133 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1140 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg240, %222 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1141 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1140, %223 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1142 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1138, %arg41 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1143 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1142, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1144 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1145 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1142 : tensor<4x512x768xf32>) outs(%1144 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1146 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1142, %1141 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1147 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1148 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1146 : tensor<4x512x768xf32>) outs(%1147 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1149 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1141, %1148 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1150 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1143, %1145 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1151 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1150, %1149 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1152 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%223, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1153 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1152, %1151 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1154 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1138, %1141 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1155 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1156 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1154 : tensor<4x512x768xf32>) outs(%1155 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1157 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1158 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1138 : tensor<4x512x768xf32>) outs(%1157 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1159 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1153, %arg239 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1160 = tensor.collapse_shape %1159 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1161 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg237 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1162 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1163 = linalg.matmul ins(%1160, %1161 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%1162 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1164 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1160 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1165 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1166 = linalg.matmul ins(%1164, %arg238 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%1165 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1167 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1166 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1168 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1169 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1160 : tensor<2048x768xf32>) outs(%1168 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1170 = tensor.collapse_shape %1169 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1171 = tensor.expand_shape %1163 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1172 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1167 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1173 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1171, %arg236 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1174 = tensor.collapse_shape %1173 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1175 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg234 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1176 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1177 = linalg.matmul ins(%1174, %1175 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1176 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1178 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1174 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1179 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1180 = linalg.matmul ins(%1178, %arg235 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1179 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1181 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1180 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1182 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1183 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1174 : tensor<2048x3072xf32>) outs(%1182 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1184 = tensor.collapse_shape %1183 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1185 = tensor.expand_shape %1177 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1186 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1153, %1185 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1187 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1181 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1188 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg233, %209 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1189 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1188, %210 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1190 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1186, %arg39 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1191 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1190, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1192 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1193 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1190 : tensor<4x512x768xf32>) outs(%1192 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1194 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1190, %1189 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1195 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1196 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1194 : tensor<4x512x768xf32>) outs(%1195 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1197 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1189, %1196 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1198 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1191, %1193 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1199 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1198, %1197 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1200 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%210, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1201 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1200, %1199 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1202 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1186, %1189 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1203 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1204 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1202 : tensor<4x512x768xf32>) outs(%1203 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1205 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1206 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1186 : tensor<4x512x768xf32>) outs(%1205 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1207 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1201, %arg232 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1208 = tensor.collapse_shape %1207 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1209 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg230 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1210 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1211 = linalg.matmul ins(%1208, %1209 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1210 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1212 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1208 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1213 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1214 = linalg.matmul ins(%1212, %arg231 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1213 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1215 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1214 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1216 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1217 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1208 : tensor<2048x768xf32>) outs(%1216 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1218 = tensor.collapse_shape %1217 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1219 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1215 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1220 = tensor.expand_shape %1211 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1221 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1220 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1222 = tensor.collapse_shape %1221 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1223 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg228 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1224 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1225 = linalg.batch_matmul ins(%1223, %1222 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1224 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1226 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg229 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1227 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1228 = linalg.batch_matmul ins(%1222, %1226 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1227 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1229 = tensor.expand_shape %1225 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1230 = tensor.expand_shape %1228 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1231 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1230, %arg227 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1232 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1231, %arg226 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1233 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1234 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1232 : tensor<4x12x512x512xf32>) outs(%1233 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1235 = tensor.dim %1232, %541 : tensor<4x12x512x512xf32> | |
| %1236 = arith.index_cast %1235 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1237 = tensor.dim %1232, %548 : tensor<4x12x512x512xf32> | |
| %1238 = arith.index_cast %1237 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1239 = tensor.dim %1232, %556 : tensor<4x12x512x512xf32> | |
| %1240 = arith.index_cast %1239 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1241 = arith.cmpi slt, %1236, %c0_i64 : i64 | |
| %1242 = arith.cmpi eq, %c4_i64, %1236 : i64 | |
| %1243 = arith.ori %1241, %1242 : i1 | |
| cf.assert %1243, "only broadcasting singleton dimensions supported" | |
| %1244 = arith.cmpi slt, %1238, %c0_i64 : i64 | |
| %1245 = arith.cmpi eq, %c12_i64, %1238 : i64 | |
| %1246 = arith.ori %1244, %1245 : i1 | |
| cf.assert %1246, "only broadcasting singleton dimensions supported" | |
| %1247 = arith.cmpi slt, %1240, %c0_i64 : i64 | |
| %1248 = arith.cmpi eq, %c512_i64, %1240 : i64 | |
| %1249 = arith.ori %1247, %1248 : i1 | |
| cf.assert %1249, "only broadcasting singleton dimensions supported" | |
| %1250 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1234 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1251 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg226, %1250 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1252 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1232, %1251 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1253 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1252, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1254 = tensor.collapse_shape %1253 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1255 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg224 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1256 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1257 = linalg.batch_matmul ins(%1255, %1254 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1256 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1258 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg225 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1259 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1260 = linalg.batch_matmul ins(%1254, %1258 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1259 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1261 = tensor.expand_shape %1257 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1262 = tensor.expand_shape %1260 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1263 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1261 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1264 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1262 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1265 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1229 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1266 = tensor.collapse_shape %1265 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1267 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg222 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1268 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1269 = linalg.matmul ins(%1266, %1267 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1268 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1270 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1266 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1271 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1272 = linalg.matmul ins(%1270, %arg223 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1271 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1273 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1272 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1274 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1275 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1266 : tensor<2048x768xf32>) outs(%1274 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1276 = tensor.collapse_shape %1275 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1277 = tensor.expand_shape %1269 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1278 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1201, %1277 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1279 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1273 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1280 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1263 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1281 = tensor.collapse_shape %1280 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1282 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg220 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1283 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1284 = linalg.matmul ins(%1281, %1282 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1283 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1285 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1281 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1286 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1287 = linalg.matmul ins(%1285, %arg221 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1286 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1288 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1287 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1289 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1290 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1281 : tensor<2048x768xf32>) outs(%1289 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1291 = tensor.collapse_shape %1290 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1292 = tensor.expand_shape %1284 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1293 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1278, %1292 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1294 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1288 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1295 = tensor.collapse_shape %1264 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1296 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg218 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1297 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1298 = linalg.matmul ins(%1295, %1296 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1297 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1299 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1295 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1300 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1301 = linalg.matmul ins(%1299, %arg219 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1300 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1302 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1301 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1303 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1304 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1295 : tensor<2048x768xf32>) outs(%1303 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1305 = tensor.collapse_shape %1304 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1306 = tensor.expand_shape %1298 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1307 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1293, %1306 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1308 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1302 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1309 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg217, %196 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1310 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1309, %197 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1311 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1307, %arg37 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1312 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1311, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1313 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1314 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1311 : tensor<4x512x768xf32>) outs(%1313 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1315 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1311, %1310 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1316 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1317 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1315 : tensor<4x512x768xf32>) outs(%1316 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1318 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1310, %1317 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1319 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1312, %1314 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1320 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1319, %1318 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1321 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%197, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1322 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1321, %1320 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1323 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1307, %1310 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1324 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1325 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1323 : tensor<4x512x768xf32>) outs(%1324 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1326 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1327 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1307 : tensor<4x512x768xf32>) outs(%1326 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1328 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %arg216 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1329 = tensor.collapse_shape %1328 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1330 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg214 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1331 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1332 = linalg.matmul ins(%1329, %1330 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%1331 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1333 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1329 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1334 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1335 = linalg.matmul ins(%1333, %arg215 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%1334 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1336 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1335 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1337 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1338 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1329 : tensor<2048x768xf32>) outs(%1337 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1339 = tensor.collapse_shape %1338 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1340 = tensor.expand_shape %1332 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1341 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1336 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1342 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1340, %arg213 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1343 = tensor.collapse_shape %1342 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1344 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg211 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1345 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1346 = linalg.matmul ins(%1343, %1344 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1345 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1347 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1343 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1348 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1349 = linalg.matmul ins(%1347, %arg212 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1348 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1350 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1349 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1351 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1352 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1343 : tensor<2048x3072xf32>) outs(%1351 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1353 = tensor.collapse_shape %1352 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1354 = tensor.expand_shape %1346 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1355 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %1354 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1356 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1350 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1357 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg210, %183 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1358 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1357, %184 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1359 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1355, %arg35 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1360 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1359, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1361 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1362 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1359 : tensor<4x512x768xf32>) outs(%1361 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1363 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1359, %1358 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1364 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1365 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1363 : tensor<4x512x768xf32>) outs(%1364 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1366 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1358, %1365 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1367 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1360, %1362 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1368 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1367, %1366 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1369 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%184, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1370 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1369, %1368 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1371 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1355, %1358 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1372 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1373 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1371 : tensor<4x512x768xf32>) outs(%1372 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1374 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1375 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1355 : tensor<4x512x768xf32>) outs(%1374 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1376 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1370, %arg209 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1377 = tensor.collapse_shape %1376 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1378 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg207 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1379 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1380 = linalg.matmul ins(%1377, %1378 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1379 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1381 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1377 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1382 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1383 = linalg.matmul ins(%1381, %arg208 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1382 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1384 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1383 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1385 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1386 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1377 : tensor<2048x768xf32>) outs(%1385 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1387 = tensor.collapse_shape %1386 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1388 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1384 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1389 = tensor.expand_shape %1380 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1390 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1389 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1391 = tensor.collapse_shape %1390 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1392 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg205 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1393 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1394 = linalg.batch_matmul ins(%1392, %1391 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1393 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1395 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg206 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1396 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1397 = linalg.batch_matmul ins(%1391, %1395 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1396 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1398 = tensor.expand_shape %1394 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1399 = tensor.expand_shape %1397 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1400 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1399, %arg204 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1401 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1400, %arg203 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1402 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1403 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1401 : tensor<4x12x512x512xf32>) outs(%1402 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1404 = tensor.dim %1401, %541 : tensor<4x12x512x512xf32> | |
| %1405 = arith.index_cast %1404 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1406 = tensor.dim %1401, %548 : tensor<4x12x512x512xf32> | |
| %1407 = arith.index_cast %1406 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1408 = tensor.dim %1401, %556 : tensor<4x12x512x512xf32> | |
| %1409 = arith.index_cast %1408 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1410 = arith.cmpi slt, %1405, %c0_i64 : i64 | |
| %1411 = arith.cmpi eq, %c4_i64, %1405 : i64 | |
| %1412 = arith.ori %1410, %1411 : i1 | |
| cf.assert %1412, "only broadcasting singleton dimensions supported" | |
| %1413 = arith.cmpi slt, %1407, %c0_i64 : i64 | |
| %1414 = arith.cmpi eq, %c12_i64, %1407 : i64 | |
| %1415 = arith.ori %1413, %1414 : i1 | |
| cf.assert %1415, "only broadcasting singleton dimensions supported" | |
| %1416 = arith.cmpi slt, %1409, %c0_i64 : i64 | |
| %1417 = arith.cmpi eq, %c512_i64, %1409 : i64 | |
| %1418 = arith.ori %1416, %1417 : i1 | |
| cf.assert %1418, "only broadcasting singleton dimensions supported" | |
| %1419 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1403 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1420 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg203, %1419 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1421 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1401, %1420 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1422 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1421, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1423 = tensor.collapse_shape %1422 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1424 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg201 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1425 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1426 = linalg.batch_matmul ins(%1424, %1423 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1425 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1427 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg202 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1428 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1429 = linalg.batch_matmul ins(%1423, %1427 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1428 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1430 = tensor.expand_shape %1426 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1431 = tensor.expand_shape %1429 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1432 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1430 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1433 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1431 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1434 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1398 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1435 = tensor.collapse_shape %1434 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1436 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg199 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1437 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1438 = linalg.matmul ins(%1435, %1436 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1437 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1439 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1435 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1440 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1441 = linalg.matmul ins(%1439, %arg200 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1440 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1442 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1441 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1443 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1444 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1435 : tensor<2048x768xf32>) outs(%1443 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1445 = tensor.collapse_shape %1444 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1446 = tensor.expand_shape %1438 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1447 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1370, %1446 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1448 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1442 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1449 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1432 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1450 = tensor.collapse_shape %1449 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1451 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg197 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1452 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1453 = linalg.matmul ins(%1450, %1451 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1452 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1454 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1450 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1455 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1456 = linalg.matmul ins(%1454, %arg198 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1455 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1457 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1456 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1458 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1459 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1450 : tensor<2048x768xf32>) outs(%1458 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1460 = tensor.collapse_shape %1459 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1461 = tensor.expand_shape %1453 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1462 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1447, %1461 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1463 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1457 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1464 = tensor.collapse_shape %1433 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1465 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg195 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1466 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1467 = linalg.matmul ins(%1464, %1465 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1466 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1468 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1464 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1469 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1470 = linalg.matmul ins(%1468, %arg196 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1469 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1471 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1470 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1472 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1473 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1464 : tensor<2048x768xf32>) outs(%1472 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1474 = tensor.collapse_shape %1473 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1475 = tensor.expand_shape %1467 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1476 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1462, %1475 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1477 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1471 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1478 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg194, %170 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1479 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1478, %171 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1480 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1476, %arg33 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1481 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1480, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1482 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1483 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1480 : tensor<4x512x768xf32>) outs(%1482 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1484 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1480, %1479 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1485 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1486 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1484 : tensor<4x512x768xf32>) outs(%1485 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1487 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1479, %1486 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1488 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1481, %1483 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1489 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1488, %1487 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1490 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%171, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1491 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1490, %1489 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1492 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1476, %1479 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1493 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1494 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1492 : tensor<4x512x768xf32>) outs(%1493 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1495 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1496 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1476 : tensor<4x512x768xf32>) outs(%1495 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1497 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1491, %arg193 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1498 = tensor.collapse_shape %1497 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1499 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg191 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1500 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1501 = linalg.matmul ins(%1498, %1499 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%1500 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1502 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1498 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1503 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1504 = linalg.matmul ins(%1502, %arg192 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%1503 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1505 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1504 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1506 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1507 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1498 : tensor<2048x768xf32>) outs(%1506 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1508 = tensor.collapse_shape %1507 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1509 = tensor.expand_shape %1501 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1510 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1505 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1511 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1509, %arg190 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1512 = tensor.collapse_shape %1511 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1513 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg188 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1514 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1515 = linalg.matmul ins(%1512, %1513 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1514 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1516 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1512 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1517 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1518 = linalg.matmul ins(%1516, %arg189 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1517 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1519 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1518 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1520 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1521 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1512 : tensor<2048x3072xf32>) outs(%1520 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1522 = tensor.collapse_shape %1521 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1523 = tensor.expand_shape %1515 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1524 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1491, %1523 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1525 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1519 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1526 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg187, %157 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1527 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1526, %158 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1528 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1524, %arg31 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1529 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1528, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1530 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1531 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1528 : tensor<4x512x768xf32>) outs(%1530 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1532 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1528, %1527 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1533 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1534 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1532 : tensor<4x512x768xf32>) outs(%1533 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1535 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1527, %1534 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1536 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1529, %1531 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1537 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1536, %1535 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1538 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%158, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1539 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1538, %1537 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1540 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1524, %1527 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1541 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1542 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1540 : tensor<4x512x768xf32>) outs(%1541 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1543 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1544 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1524 : tensor<4x512x768xf32>) outs(%1543 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1545 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1539, %arg186 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1546 = tensor.collapse_shape %1545 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1547 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg184 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1548 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1549 = linalg.matmul ins(%1546, %1547 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1548 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1550 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1546 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1551 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1552 = linalg.matmul ins(%1550, %arg185 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1551 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1553 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1552 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1554 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1555 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1546 : tensor<2048x768xf32>) outs(%1554 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1556 = tensor.collapse_shape %1555 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1557 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1553 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1558 = tensor.expand_shape %1549 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1559 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1558 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1560 = tensor.collapse_shape %1559 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1561 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg182 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1562 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1563 = linalg.batch_matmul ins(%1561, %1560 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1562 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1564 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg183 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1565 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1566 = linalg.batch_matmul ins(%1560, %1564 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1565 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1567 = tensor.expand_shape %1563 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1568 = tensor.expand_shape %1566 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1569 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1568, %arg181 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1570 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1569, %arg180 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1571 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1572 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1570 : tensor<4x12x512x512xf32>) outs(%1571 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1573 = tensor.dim %1570, %541 : tensor<4x12x512x512xf32> | |
| %1574 = arith.index_cast %1573 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1575 = tensor.dim %1570, %548 : tensor<4x12x512x512xf32> | |
| %1576 = arith.index_cast %1575 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1577 = tensor.dim %1570, %556 : tensor<4x12x512x512xf32> | |
| %1578 = arith.index_cast %1577 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1579 = arith.cmpi slt, %1574, %c0_i64 : i64 | |
| %1580 = arith.cmpi eq, %c4_i64, %1574 : i64 | |
| %1581 = arith.ori %1579, %1580 : i1 | |
| cf.assert %1581, "only broadcasting singleton dimensions supported" | |
| %1582 = arith.cmpi slt, %1576, %c0_i64 : i64 | |
| %1583 = arith.cmpi eq, %c12_i64, %1576 : i64 | |
| %1584 = arith.ori %1582, %1583 : i1 | |
| cf.assert %1584, "only broadcasting singleton dimensions supported" | |
| %1585 = arith.cmpi slt, %1578, %c0_i64 : i64 | |
| %1586 = arith.cmpi eq, %c512_i64, %1578 : i64 | |
| %1587 = arith.ori %1585, %1586 : i1 | |
| cf.assert %1587, "only broadcasting singleton dimensions supported" | |
| %1588 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1572 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1589 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg180, %1588 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1590 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1570, %1589 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1591 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1590, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1592 = tensor.collapse_shape %1591 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1593 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg178 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1594 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1595 = linalg.batch_matmul ins(%1593, %1592 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1594 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1596 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg179 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1597 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1598 = linalg.batch_matmul ins(%1592, %1596 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1597 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1599 = tensor.expand_shape %1595 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1600 = tensor.expand_shape %1598 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1601 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1599 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1602 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1600 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1603 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1567 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1604 = tensor.collapse_shape %1603 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1605 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg176 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1606 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1607 = linalg.matmul ins(%1604, %1605 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1606 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1608 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1604 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1609 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1610 = linalg.matmul ins(%1608, %arg177 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1609 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1611 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1610 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1612 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1613 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1604 : tensor<2048x768xf32>) outs(%1612 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1614 = tensor.collapse_shape %1613 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1615 = tensor.expand_shape %1607 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1616 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1539, %1615 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1617 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1611 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1618 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1601 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1619 = tensor.collapse_shape %1618 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1620 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg174 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1621 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1622 = linalg.matmul ins(%1619, %1620 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1621 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1623 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1619 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1624 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1625 = linalg.matmul ins(%1623, %arg175 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1624 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1626 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1625 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1627 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1628 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1619 : tensor<2048x768xf32>) outs(%1627 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1629 = tensor.collapse_shape %1628 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1630 = tensor.expand_shape %1622 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1631 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1616, %1630 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1632 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1626 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1633 = tensor.collapse_shape %1602 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1634 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg172 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1635 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1636 = linalg.matmul ins(%1633, %1634 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1635 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1637 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1633 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1638 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1639 = linalg.matmul ins(%1637, %arg173 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1638 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1640 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1639 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1641 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1642 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1633 : tensor<2048x768xf32>) outs(%1641 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1643 = tensor.collapse_shape %1642 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1644 = tensor.expand_shape %1636 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1645 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1631, %1644 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1646 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1640 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1647 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg171, %144 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1648 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1647, %145 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1649 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1645, %arg29 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1650 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1649, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1651 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1652 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1649 : tensor<4x512x768xf32>) outs(%1651 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1653 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1649, %1648 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1654 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1655 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1653 : tensor<4x512x768xf32>) outs(%1654 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1656 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1648, %1655 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1657 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1650, %1652 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1658 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1657, %1656 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1659 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%145, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1660 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1659, %1658 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1661 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1645, %1648 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1662 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1663 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1661 : tensor<4x512x768xf32>) outs(%1662 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1664 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1665 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1645 : tensor<4x512x768xf32>) outs(%1664 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1666 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1660, %arg170 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1667 = tensor.collapse_shape %1666 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1668 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg168 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1669 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1670 = linalg.matmul ins(%1667, %1668 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%1669 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1671 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1667 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1672 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1673 = linalg.matmul ins(%1671, %arg169 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%1672 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1674 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1673 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1675 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1676 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1667 : tensor<2048x768xf32>) outs(%1675 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1677 = tensor.collapse_shape %1676 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1678 = tensor.expand_shape %1670 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1679 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1674 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1680 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1678, %arg167 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1681 = tensor.collapse_shape %1680 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1682 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg165 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1683 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1684 = linalg.matmul ins(%1681, %1682 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1683 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1685 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1681 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1686 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1687 = linalg.matmul ins(%1685, %arg166 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1686 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1688 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1687 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1689 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1690 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1681 : tensor<2048x3072xf32>) outs(%1689 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1691 = tensor.collapse_shape %1690 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1692 = tensor.expand_shape %1684 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1693 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1660, %1692 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1694 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1688 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1695 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg164, %131 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1696 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1695, %132 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1697 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1693, %arg27 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1698 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1697, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1699 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1700 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1697 : tensor<4x512x768xf32>) outs(%1699 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1701 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1697, %1696 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1702 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1703 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1701 : tensor<4x512x768xf32>) outs(%1702 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1704 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1696, %1703 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1705 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1698, %1700 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1706 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1705, %1704 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1707 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%132, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1708 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1707, %1706 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1709 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1693, %1696 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1710 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1711 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1709 : tensor<4x512x768xf32>) outs(%1710 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1712 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1713 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1693 : tensor<4x512x768xf32>) outs(%1712 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1714 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1708, %arg163 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1715 = tensor.collapse_shape %1714 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1716 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg161 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1717 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1718 = linalg.matmul ins(%1715, %1716 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1717 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1719 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1715 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1720 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1721 = linalg.matmul ins(%1719, %arg162 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1720 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1722 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1721 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1723 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1724 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1715 : tensor<2048x768xf32>) outs(%1723 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1725 = tensor.collapse_shape %1724 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1726 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1722 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1727 = tensor.expand_shape %1718 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1728 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1727 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1729 = tensor.collapse_shape %1728 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1730 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg159 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1731 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1732 = linalg.batch_matmul ins(%1730, %1729 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1731 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1733 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg160 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1734 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1735 = linalg.batch_matmul ins(%1729, %1733 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1734 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1736 = tensor.expand_shape %1732 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1737 = tensor.expand_shape %1735 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1738 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1737, %arg158 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1739 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1738, %arg157 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1740 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1741 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1739 : tensor<4x12x512x512xf32>) outs(%1740 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1742 = tensor.dim %1739, %541 : tensor<4x12x512x512xf32> | |
| %1743 = arith.index_cast %1742 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1744 = tensor.dim %1739, %548 : tensor<4x12x512x512xf32> | |
| %1745 = arith.index_cast %1744 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1746 = tensor.dim %1739, %556 : tensor<4x12x512x512xf32> | |
| %1747 = arith.index_cast %1746 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1748 = arith.cmpi slt, %1743, %c0_i64 : i64 | |
| %1749 = arith.cmpi eq, %c4_i64, %1743 : i64 | |
| %1750 = arith.ori %1748, %1749 : i1 | |
| cf.assert %1750, "only broadcasting singleton dimensions supported" | |
| %1751 = arith.cmpi slt, %1745, %c0_i64 : i64 | |
| %1752 = arith.cmpi eq, %c12_i64, %1745 : i64 | |
| %1753 = arith.ori %1751, %1752 : i1 | |
| cf.assert %1753, "only broadcasting singleton dimensions supported" | |
| %1754 = arith.cmpi slt, %1747, %c0_i64 : i64 | |
| %1755 = arith.cmpi eq, %c512_i64, %1747 : i64 | |
| %1756 = arith.ori %1754, %1755 : i1 | |
| cf.assert %1756, "only broadcasting singleton dimensions supported" | |
| %1757 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1741 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1758 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg157, %1757 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1759 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1739, %1758 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1760 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1759, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1761 = tensor.collapse_shape %1760 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1762 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg155 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1763 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1764 = linalg.batch_matmul ins(%1762, %1761 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1763 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1765 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg156 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1766 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1767 = linalg.batch_matmul ins(%1761, %1765 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1766 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1768 = tensor.expand_shape %1764 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1769 = tensor.expand_shape %1767 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1770 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1768 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1771 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1769 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1772 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1736 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1773 = tensor.collapse_shape %1772 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1774 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg153 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1775 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1776 = linalg.matmul ins(%1773, %1774 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1775 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1777 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1773 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1778 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1779 = linalg.matmul ins(%1777, %arg154 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1778 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1780 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1779 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1781 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1782 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1773 : tensor<2048x768xf32>) outs(%1781 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1783 = tensor.collapse_shape %1782 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1784 = tensor.expand_shape %1776 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1785 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1708, %1784 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1786 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1780 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1787 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1770 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1788 = tensor.collapse_shape %1787 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1789 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg151 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1790 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1791 = linalg.matmul ins(%1788, %1789 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1790 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1792 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1788 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1793 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1794 = linalg.matmul ins(%1792, %arg152 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1793 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1795 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1794 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1796 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1797 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1788 : tensor<2048x768xf32>) outs(%1796 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1798 = tensor.collapse_shape %1797 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1799 = tensor.expand_shape %1791 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1800 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1785, %1799 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1801 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1795 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1802 = tensor.collapse_shape %1771 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1803 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg149 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1804 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1805 = linalg.matmul ins(%1802, %1803 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1804 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1806 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1802 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1807 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1808 = linalg.matmul ins(%1806, %arg150 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1807 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1809 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1808 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1810 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1811 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1802 : tensor<2048x768xf32>) outs(%1810 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1812 = tensor.collapse_shape %1811 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1813 = tensor.expand_shape %1805 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1814 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1800, %1813 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1815 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1809 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1816 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg148, %118 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1817 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1816, %119 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1818 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1814, %arg25 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1819 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1818, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1820 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1821 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1818 : tensor<4x512x768xf32>) outs(%1820 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1822 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1818, %1817 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1823 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1824 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1822 : tensor<4x512x768xf32>) outs(%1823 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1825 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1817, %1824 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1826 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1819, %1821 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1827 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1826, %1825 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1828 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%119, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1829 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1828, %1827 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1830 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1814, %1817 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1831 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1832 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1830 : tensor<4x512x768xf32>) outs(%1831 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1833 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1834 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1814 : tensor<4x512x768xf32>) outs(%1833 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1835 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1829, %arg147 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1836 = tensor.collapse_shape %1835 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1837 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg145 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1838 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1839 = linalg.matmul ins(%1836, %1837 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%1838 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %1840 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1836 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1841 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1842 = linalg.matmul ins(%1840, %arg146 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%1841 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %1843 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1842 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1844 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1845 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1836 : tensor<2048x768xf32>) outs(%1844 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1846 = tensor.collapse_shape %1845 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1847 = tensor.expand_shape %1839 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %1848 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1843 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1849 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1847, %arg144 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %1850 = tensor.collapse_shape %1849 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %1851 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg142 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1852 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1853 = linalg.matmul ins(%1850, %1851 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%1852 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1854 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1850 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %1855 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1856 = linalg.matmul ins(%1854, %arg143 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%1855 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %1857 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1856 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %1858 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %1859 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1850 : tensor<2048x3072xf32>) outs(%1858 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %1860 = tensor.collapse_shape %1859 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %1861 = tensor.expand_shape %1853 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1862 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1829, %1861 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1863 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1857 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %1864 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg141, %105 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1865 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1864, %106 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1866 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1862, %arg23 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1867 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1866, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1868 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1869 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1866 : tensor<4x512x768xf32>) outs(%1868 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1870 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1866, %1865 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1871 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1872 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1870 : tensor<4x512x768xf32>) outs(%1871 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1873 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1865, %1872 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1874 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1867, %1869 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1875 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1874, %1873 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1876 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%106, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1877 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1876, %1875 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1878 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1862, %1865 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1879 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1880 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1878 : tensor<4x512x768xf32>) outs(%1879 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1881 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %1882 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1862 : tensor<4x512x768xf32>) outs(%1881 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %1883 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1877, %arg140 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1884 = tensor.collapse_shape %1883 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %1885 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg138 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1886 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1887 = linalg.matmul ins(%1884, %1885 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1886 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1888 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1884 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1889 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1890 = linalg.matmul ins(%1888, %arg139 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1889 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1891 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1890 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1892 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1893 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1884 : tensor<2048x768xf32>) outs(%1892 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1894 = tensor.collapse_shape %1893 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1895 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1891 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1896 = tensor.expand_shape %1887 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %1897 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1896 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1898 = tensor.collapse_shape %1897 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %1899 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg136 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %1900 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1901 = linalg.batch_matmul ins(%1899, %1898 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1900 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1902 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg137 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1903 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1904 = linalg.batch_matmul ins(%1898, %1902 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%1903 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %1905 = tensor.expand_shape %1901 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1906 = tensor.expand_shape %1904 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %1907 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1906, %arg135 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1908 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1907, %arg134 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1909 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %1910 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1908 : tensor<4x12x512x512xf32>) outs(%1909 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %1911 = tensor.dim %1908, %541 : tensor<4x12x512x512xf32> | |
| %1912 = arith.index_cast %1911 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %1913 = tensor.dim %1908, %548 : tensor<4x12x512x512xf32> | |
| %1914 = arith.index_cast %1913 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %1915 = tensor.dim %1908, %556 : tensor<4x12x512x512xf32> | |
| %1916 = arith.index_cast %1915 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %1917 = arith.cmpi slt, %1912, %c0_i64 : i64 | |
| %1918 = arith.cmpi eq, %c4_i64, %1912 : i64 | |
| %1919 = arith.ori %1917, %1918 : i1 | |
| cf.assert %1919, "only broadcasting singleton dimensions supported" | |
| %1920 = arith.cmpi slt, %1914, %c0_i64 : i64 | |
| %1921 = arith.cmpi eq, %c12_i64, %1914 : i64 | |
| %1922 = arith.ori %1920, %1921 : i1 | |
| cf.assert %1922, "only broadcasting singleton dimensions supported" | |
| %1923 = arith.cmpi slt, %1916, %c0_i64 : i64 | |
| %1924 = arith.cmpi eq, %c512_i64, %1916 : i64 | |
| %1925 = arith.ori %1923, %1924 : i1 | |
| cf.assert %1925, "only broadcasting singleton dimensions supported" | |
| %1926 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1910 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1927 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg134, %1926 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1928 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1908, %1927 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1929 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1928, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %1930 = tensor.collapse_shape %1929 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %1931 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg132 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %1932 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1933 = linalg.batch_matmul ins(%1931, %1930 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%1932 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %1934 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg133 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %1935 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1936 = linalg.batch_matmul ins(%1930, %1934 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%1935 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %1937 = tensor.expand_shape %1933 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %1938 = tensor.expand_shape %1936 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %1939 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1937 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %1940 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1938 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1941 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1905 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1942 = tensor.collapse_shape %1941 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1943 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg130 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1944 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1945 = linalg.matmul ins(%1942, %1943 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1944 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1946 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1942 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1947 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1948 = linalg.matmul ins(%1946, %arg131 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1947 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1949 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1948 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1950 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1951 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1942 : tensor<2048x768xf32>) outs(%1950 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1952 = tensor.collapse_shape %1951 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1953 = tensor.expand_shape %1945 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1954 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1877, %1953 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1955 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1949 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1956 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1939 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %1957 = tensor.collapse_shape %1956 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1958 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg128 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1959 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1960 = linalg.matmul ins(%1957, %1958 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1959 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1961 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1957 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1962 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1963 = linalg.matmul ins(%1961, %arg129 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1962 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1964 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1963 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1965 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1966 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1957 : tensor<2048x768xf32>) outs(%1965 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1967 = tensor.collapse_shape %1966 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1968 = tensor.expand_shape %1960 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1969 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1954, %1968 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1970 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1964 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1971 = tensor.collapse_shape %1940 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %1972 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg126 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1973 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1974 = linalg.matmul ins(%1971, %1972 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%1973 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %1975 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1971 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %1976 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1977 = linalg.matmul ins(%1975, %arg127 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%1976 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %1978 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1977 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1979 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %1980 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%1971 : tensor<2048x768xf32>) outs(%1979 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %1981 = tensor.collapse_shape %1980 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %1982 = tensor.expand_shape %1974 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %1983 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1969, %1982 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1984 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%1978 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %1985 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg125, %92 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1986 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1985, %93 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1987 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1983, %arg21 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1988 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1987, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1989 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1990 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1987 : tensor<4x512x768xf32>) outs(%1989 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1991 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1987, %1986 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1992 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %1993 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1991 : tensor<4x512x768xf32>) outs(%1992 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1994 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1986, %1993 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1995 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1988, %1990 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1996 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1995, %1994 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1997 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%93, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %1998 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1997, %1996 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %1999 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1983, %1986 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2000 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2001 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1999 : tensor<4x512x768xf32>) outs(%2000 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2002 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2003 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%1983 : tensor<4x512x768xf32>) outs(%2002 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2004 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1998, %arg124 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2005 = tensor.collapse_shape %2004 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2006 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg122 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2007 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2008 = linalg.matmul ins(%2005, %2006 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%2007 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2009 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2005 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2010 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2011 = linalg.matmul ins(%2009, %arg123 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%2010 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2012 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2011 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2013 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2014 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2005 : tensor<2048x768xf32>) outs(%2013 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2015 = tensor.collapse_shape %2014 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2016 = tensor.expand_shape %2008 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %2017 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2012 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2018 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2016, %arg121 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %2019 = tensor.collapse_shape %2018 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %2020 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg119 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2021 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2022 = linalg.matmul ins(%2019, %2020 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%2021 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2023 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2019 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %2024 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2025 = linalg.matmul ins(%2023, %arg120 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%2024 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2026 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2025 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2027 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %2028 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2019 : tensor<2048x3072xf32>) outs(%2027 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %2029 = tensor.collapse_shape %2028 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %2030 = tensor.expand_shape %2022 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2031 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1998, %2030 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2032 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2026 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2033 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg118, %79 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2034 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2033, %80 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2035 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2031, %arg19 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2036 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2035, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2037 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2038 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2035 : tensor<4x512x768xf32>) outs(%2037 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2039 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2035, %2034 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2040 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2041 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2039 : tensor<4x512x768xf32>) outs(%2040 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2042 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2034, %2041 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2043 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2036, %2038 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2044 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2043, %2042 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2045 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%80, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2046 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2045, %2044 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2047 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2031, %2034 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2048 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2049 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2047 : tensor<4x512x768xf32>) outs(%2048 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2050 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2051 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2031 : tensor<4x512x768xf32>) outs(%2050 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2052 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2046, %arg117 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2053 = tensor.collapse_shape %2052 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2054 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg115 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2055 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2056 = linalg.matmul ins(%2053, %2054 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2055 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2057 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2053 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2058 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2059 = linalg.matmul ins(%2057, %arg116 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2058 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2060 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2059 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2061 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2062 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2053 : tensor<2048x768xf32>) outs(%2061 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2063 = tensor.collapse_shape %2062 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2064 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2060 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2065 = tensor.expand_shape %2056 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %2066 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2065 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2067 = tensor.collapse_shape %2066 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %2068 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg113 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %2069 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2070 = linalg.batch_matmul ins(%2068, %2067 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2069 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2071 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg114 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2072 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2073 = linalg.batch_matmul ins(%2067, %2071 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%2072 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2074 = tensor.expand_shape %2070 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2075 = tensor.expand_shape %2073 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %2076 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2075, %arg112 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2077 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2076, %arg111 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2078 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %2079 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2077 : tensor<4x12x512x512xf32>) outs(%2078 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %2080 = tensor.dim %2077, %541 : tensor<4x12x512x512xf32> | |
| %2081 = arith.index_cast %2080 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %2082 = tensor.dim %2077, %548 : tensor<4x12x512x512xf32> | |
| %2083 = arith.index_cast %2082 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %2084 = tensor.dim %2077, %556 : tensor<4x12x512x512xf32> | |
| %2085 = arith.index_cast %2084 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %2086 = arith.cmpi slt, %2081, %c0_i64 : i64 | |
| %2087 = arith.cmpi eq, %c4_i64, %2081 : i64 | |
| %2088 = arith.ori %2086, %2087 : i1 | |
| cf.assert %2088, "only broadcasting singleton dimensions supported" | |
| %2089 = arith.cmpi slt, %2083, %c0_i64 : i64 | |
| %2090 = arith.cmpi eq, %c12_i64, %2083 : i64 | |
| %2091 = arith.ori %2089, %2090 : i1 | |
| cf.assert %2091, "only broadcasting singleton dimensions supported" | |
| %2092 = arith.cmpi slt, %2085, %c0_i64 : i64 | |
| %2093 = arith.cmpi eq, %c512_i64, %2085 : i64 | |
| %2094 = arith.ori %2092, %2093 : i1 | |
| cf.assert %2094, "only broadcasting singleton dimensions supported" | |
| %2095 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2079 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2096 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg111, %2095 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2097 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2077, %2096 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2098 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2097, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2099 = tensor.collapse_shape %2098 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %2100 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg109 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2101 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2102 = linalg.batch_matmul ins(%2100, %2099 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%2101 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2103 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg110 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %2104 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2105 = linalg.batch_matmul ins(%2099, %2103 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2104 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2106 = tensor.expand_shape %2102 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %2107 = tensor.expand_shape %2105 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2108 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2106 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2109 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2107 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2110 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2074 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2111 = tensor.collapse_shape %2110 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2112 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg107 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2113 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2114 = linalg.matmul ins(%2111, %2112 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2113 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2115 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2111 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2116 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2117 = linalg.matmul ins(%2115, %arg108 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2116 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2118 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2117 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2119 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2120 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2111 : tensor<2048x768xf32>) outs(%2119 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2121 = tensor.collapse_shape %2120 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2122 = tensor.expand_shape %2114 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2123 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2046, %2122 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2124 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2118 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2125 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2108 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2126 = tensor.collapse_shape %2125 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2127 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg105 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2128 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2129 = linalg.matmul ins(%2126, %2127 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2128 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2130 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2126 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2131 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2132 = linalg.matmul ins(%2130, %arg106 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2131 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2133 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2132 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2134 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2135 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2126 : tensor<2048x768xf32>) outs(%2134 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2136 = tensor.collapse_shape %2135 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2137 = tensor.expand_shape %2129 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2138 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2123, %2137 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2139 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2133 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2140 = tensor.collapse_shape %2109 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2141 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg103 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2142 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2143 = linalg.matmul ins(%2140, %2141 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2142 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2144 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2140 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2145 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2146 = linalg.matmul ins(%2144, %arg104 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2145 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2147 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2146 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2148 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2149 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2140 : tensor<2048x768xf32>) outs(%2148 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2150 = tensor.collapse_shape %2149 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2151 = tensor.expand_shape %2143 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2152 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2138, %2151 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2153 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2147 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2154 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg102, %66 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2155 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2154, %67 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2156 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2152, %arg9 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2157 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2156, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2158 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2159 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2156 : tensor<4x512x768xf32>) outs(%2158 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2160 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2156, %2155 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2161 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2162 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2160 : tensor<4x512x768xf32>) outs(%2161 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2163 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2155, %2162 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2164 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2157, %2159 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2165 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2164, %2163 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2166 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%67, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2167 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2166, %2165 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2168 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2152, %2155 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2169 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2170 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2168 : tensor<4x512x768xf32>) outs(%2169 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2171 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2172 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2152 : tensor<4x512x768xf32>) outs(%2171 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2173 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2167, %arg101 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2174 = tensor.collapse_shape %2173 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2175 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg99 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2176 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2177 = linalg.matmul ins(%2174, %2175 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%2176 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2178 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2174 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2179 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2180 = linalg.matmul ins(%2178, %arg100 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%2179 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2181 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2180 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2182 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2183 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2174 : tensor<2048x768xf32>) outs(%2182 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2184 = tensor.collapse_shape %2183 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2185 = tensor.expand_shape %2177 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %2186 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2181 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2187 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2185, %arg98 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %2188 = tensor.collapse_shape %2187 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %2189 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg96 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2190 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2191 = linalg.matmul ins(%2188, %2189 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%2190 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2192 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2188 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %2193 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2194 = linalg.matmul ins(%2192, %arg97 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%2193 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2195 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2194 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2196 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %2197 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2188 : tensor<2048x3072xf32>) outs(%2196 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %2198 = tensor.collapse_shape %2197 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %2199 = tensor.expand_shape %2191 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2200 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2167, %2199 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2201 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2195 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2202 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg95, %53 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2203 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2202, %54 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2204 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2200, %arg7 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2205 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2204, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2206 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2207 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2204 : tensor<4x512x768xf32>) outs(%2206 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2208 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2204, %2203 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2209 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2210 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2208 : tensor<4x512x768xf32>) outs(%2209 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2211 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2203, %2210 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2212 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2205, %2207 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2213 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2212, %2211 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2214 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%54, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2215 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2214, %2213 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2216 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2200, %2203 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2217 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2218 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2216 : tensor<4x512x768xf32>) outs(%2217 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2219 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2220 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2200 : tensor<4x512x768xf32>) outs(%2219 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2221 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2215, %arg94 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2222 = tensor.collapse_shape %2221 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2223 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg92 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2224 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2225 = linalg.matmul ins(%2222, %2223 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2224 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2226 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2222 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2227 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2228 = linalg.matmul ins(%2226, %arg93 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2227 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2229 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2228 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2230 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2231 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2222 : tensor<2048x768xf32>) outs(%2230 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2232 = tensor.collapse_shape %2231 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2233 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2229 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2234 = tensor.expand_shape %2225 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %2235 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2234 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2236 = tensor.collapse_shape %2235 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %2237 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg90 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %2238 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2239 = linalg.batch_matmul ins(%2237, %2236 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2238 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2240 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg91 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2241 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2242 = linalg.batch_matmul ins(%2236, %2240 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%2241 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2243 = tensor.expand_shape %2239 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2244 = tensor.expand_shape %2242 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %2245 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2244, %arg89 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2246 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2245, %arg88 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2247 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %2248 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2246 : tensor<4x12x512x512xf32>) outs(%2247 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %2249 = tensor.dim %2246, %541 : tensor<4x12x512x512xf32> | |
| %2250 = arith.index_cast %2249 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %2251 = tensor.dim %2246, %548 : tensor<4x12x512x512xf32> | |
| %2252 = arith.index_cast %2251 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %2253 = tensor.dim %2246, %556 : tensor<4x12x512x512xf32> | |
| %2254 = arith.index_cast %2253 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %2255 = arith.cmpi slt, %2250, %c0_i64 : i64 | |
| %2256 = arith.cmpi eq, %c4_i64, %2250 : i64 | |
| %2257 = arith.ori %2255, %2256 : i1 | |
| cf.assert %2257, "only broadcasting singleton dimensions supported" | |
| %2258 = arith.cmpi slt, %2252, %c0_i64 : i64 | |
| %2259 = arith.cmpi eq, %c12_i64, %2252 : i64 | |
| %2260 = arith.ori %2258, %2259 : i1 | |
| cf.assert %2260, "only broadcasting singleton dimensions supported" | |
| %2261 = arith.cmpi slt, %2254, %c0_i64 : i64 | |
| %2262 = arith.cmpi eq, %c512_i64, %2254 : i64 | |
| %2263 = arith.ori %2261, %2262 : i1 | |
| cf.assert %2263, "only broadcasting singleton dimensions supported" | |
| %2264 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2248 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2265 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg88, %2264 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2266 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2246, %2265 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2267 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2266, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2268 = tensor.collapse_shape %2267 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %2269 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg86 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2270 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2271 = linalg.batch_matmul ins(%2269, %2268 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%2270 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2272 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg87 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %2273 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2274 = linalg.batch_matmul ins(%2268, %2272 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2273 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2275 = tensor.expand_shape %2271 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %2276 = tensor.expand_shape %2274 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2277 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2275 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2278 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2276 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2279 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2243 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2280 = tensor.collapse_shape %2279 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2281 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg84 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2282 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2283 = linalg.matmul ins(%2280, %2281 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2282 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2284 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2280 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2285 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2286 = linalg.matmul ins(%2284, %arg85 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2285 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2287 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2286 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2288 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2289 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2280 : tensor<2048x768xf32>) outs(%2288 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2290 = tensor.collapse_shape %2289 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2291 = tensor.expand_shape %2283 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2292 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2215, %2291 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2293 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2287 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2294 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2277 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2295 = tensor.collapse_shape %2294 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2296 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg82 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2297 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2298 = linalg.matmul ins(%2295, %2296 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2297 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2299 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2295 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2300 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2301 = linalg.matmul ins(%2299, %arg83 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2300 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2302 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2301 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2303 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2304 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2295 : tensor<2048x768xf32>) outs(%2303 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2305 = tensor.collapse_shape %2304 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2306 = tensor.expand_shape %2298 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2307 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2292, %2306 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2308 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2302 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2309 = tensor.collapse_shape %2278 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2310 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg80 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2311 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2312 = linalg.matmul ins(%2309, %2310 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2311 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2313 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2309 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2314 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2315 = linalg.matmul ins(%2313, %arg81 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2314 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2316 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2315 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2317 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2318 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2309 : tensor<2048x768xf32>) outs(%2317 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2319 = tensor.collapse_shape %2318 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2320 = tensor.expand_shape %2312 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2321 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2307, %2320 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2322 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2316 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2323 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg79, %40 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2324 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2323, %41 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2325 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2321, %arg5 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2326 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2325, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2327 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2328 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2325 : tensor<4x512x768xf32>) outs(%2327 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2329 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2325, %2324 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2330 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2331 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2329 : tensor<4x512x768xf32>) outs(%2330 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2332 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2324, %2331 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2333 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2326, %2328 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2334 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2333, %2332 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2335 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%41, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2336 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2335, %2334 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2337 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2321, %2324 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2338 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2339 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2337 : tensor<4x512x768xf32>) outs(%2338 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2340 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2341 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2321 : tensor<4x512x768xf32>) outs(%2340 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2342 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2336, %arg78 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2343 = tensor.collapse_shape %2342 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2344 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg76 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2345 = linalg.fill ins(%cst : f32) outs(%453 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2346 = linalg.matmul ins(%2343, %2344 : tensor<2048x768xf32>, tensor<768x3072xf32>) outs(%2345 : tensor<2048x3072xf32>) -> tensor<2048x3072xf32> | |
| %2347 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2343 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2348 = linalg.fill ins(%cst : f32) outs(%451 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2349 = linalg.matmul ins(%2347, %arg77 : tensor<768x2048xf32>, tensor<2048x3072xf32>) outs(%2348 : tensor<768x3072xf32>) -> tensor<768x3072xf32> | |
| %2350 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2349 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2351 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2352 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2343 : tensor<2048x768xf32>) outs(%2351 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2353 = tensor.collapse_shape %2352 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2354 = tensor.expand_shape %2346 [[0, 1], [2]] : tensor<2048x3072xf32> into tensor<4x512x3072xf32> | |
| %2355 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2350 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2356 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2354, %arg75 : tensor<4x512x3072xf32>, tensor<4x512x3072xf32>) outs(%466 : tensor<4x512x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg344, %arg344 : f32 | |
| %2562 = arith.mulf %2561, %cst_4 : f32 | |
| %2563 = math.exp %2562 : f32 | |
| %2564 = math.sqrt %cst_3 : f32 | |
| %2565 = arith.divf %arg344, %2564 : f32 | |
| %2566 = math.erf %2565 : f32 | |
| %2567 = arith.addf %2566, %cst_2 : f32 | |
| %2568 = arith.mulf %2567, %cst_1 : f32 | |
| %2569 = arith.mulf %2563, %arg344 : f32 | |
| %2570 = arith.mulf %2569, %cst_5 : f32 | |
| %2571 = arith.addf %2570, %2568 : f32 | |
| %2572 = arith.mulf %arg343, %2571 : f32 | |
| linalg.yield %2572 : f32 | |
| } -> tensor<4x512x3072xf32> | |
| %2357 = tensor.collapse_shape %2356 [[0, 1], [2]] : tensor<4x512x3072xf32> into tensor<2048x3072xf32> | |
| %2358 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg73 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2359 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2360 = linalg.matmul ins(%2357, %2358 : tensor<2048x3072xf32>, tensor<3072x768xf32>) outs(%2359 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2361 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2357 : tensor<2048x3072xf32>) outs(%472 : tensor<3072x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x2048xf32> | |
| %2362 = linalg.fill ins(%cst : f32) outs(%459 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2363 = linalg.matmul ins(%2361, %arg74 : tensor<3072x2048xf32>, tensor<2048x768xf32>) outs(%2362 : tensor<3072x768xf32>) -> tensor<3072x768xf32> | |
| %2364 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2363 : tensor<3072x768xf32>) outs(%451 : tensor<768x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x3072xf32> | |
| %2365 = linalg.fill ins(%cst : f32) outs(%477 : tensor<1x3072xf32>) -> tensor<1x3072xf32> | |
| %2366 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2357 : tensor<2048x3072xf32>) outs(%2365 : tensor<1x3072xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x3072xf32> | |
| %2367 = tensor.collapse_shape %2366 [[0, 1]] : tensor<1x3072xf32> into tensor<3072xf32> | |
| %2368 = tensor.expand_shape %2360 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2369 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2336, %2368 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2370 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2364 : tensor<768x3072xf32>) outs(%459 : tensor<3072x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<3072x768xf32> | |
| %2371 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg72, %27 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2372 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2371, %28 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2373 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2369, %arg3 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2374 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2373, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2375 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2376 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2373 : tensor<4x512x768xf32>) outs(%2375 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2377 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2373, %2372 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2378 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2379 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2377 : tensor<4x512x768xf32>) outs(%2378 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2380 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2372, %2379 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2381 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2374, %2376 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2382 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2381, %2380 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2383 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%28, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2384 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2383, %2382 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2385 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2369, %2372 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2386 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2387 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2385 : tensor<4x512x768xf32>) outs(%2386 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2388 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2389 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2369 : tensor<4x512x768xf32>) outs(%2388 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2390 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2384, %arg71 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2391 = tensor.collapse_shape %2390 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2392 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg69 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2393 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2394 = linalg.matmul ins(%2391, %2392 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2393 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2395 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2391 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2396 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2397 = linalg.matmul ins(%2395, %arg70 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2396 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2398 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2397 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2399 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2400 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2391 : tensor<2048x768xf32>) outs(%2399 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2401 = tensor.collapse_shape %2400 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2402 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2398 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2403 = tensor.expand_shape %2394 [[0, 1], [2, 3]] : tensor<2048x768xf32> into tensor<4x512x12x64xf32> | |
| %2404 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2403 : tensor<4x512x12x64xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2405 = tensor.collapse_shape %2404 [[0, 1], [2], [3]] : tensor<4x12x512x64xf32> into tensor<48x512x64xf32> | |
| %2406 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg67 : tensor<48x512x512xf32>) outs(%520 : tensor<48x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x512xf32> | |
| %2407 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2408 = linalg.batch_matmul ins(%2406, %2405 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2407 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2409 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg68 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2410 = linalg.fill ins(%cst : f32) outs(%520 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2411 = linalg.batch_matmul ins(%2405, %2409 : tensor<48x512x64xf32>, tensor<48x64x512xf32>) outs(%2410 : tensor<48x512x512xf32>) -> tensor<48x512x512xf32> | |
| %2412 = tensor.expand_shape %2408 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2413 = tensor.expand_shape %2411 [[0, 1], [2], [3]] : tensor<48x512x512xf32> into tensor<4x12x512x512xf32> | |
| %2414 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2413, %arg66 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2415 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2414, %arg65 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2416 = linalg.fill ins(%cst : f32) outs(%534 : tensor<4x12x512x1xf32>) -> tensor<4x12x512x1xf32> | |
| %2417 = linalg.generic {indexing_maps = [#map11, #map14], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2415 : tensor<4x12x512x512xf32>) outs(%2416 : tensor<4x12x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x1xf32> | |
| cf.assert %539, "dim must be greater or equal to zero" | |
| cf.assert %540, "dim must be smaller than inputRank" | |
| %2418 = tensor.dim %2415, %541 : tensor<4x12x512x512xf32> | |
| %2419 = arith.index_cast %2418 : index to i64 | |
| cf.assert %546, "dim must be greater or equal to zero" | |
| cf.assert %547, "dim must be smaller than inputRank" | |
| %2420 = tensor.dim %2415, %548 : tensor<4x12x512x512xf32> | |
| %2421 = arith.index_cast %2420 : index to i64 | |
| cf.assert %554, "dim must be greater or equal to zero" | |
| cf.assert %555, "dim must be smaller than inputRank" | |
| %2422 = tensor.dim %2415, %556 : tensor<4x12x512x512xf32> | |
| %2423 = arith.index_cast %2422 : index to i64 | |
| cf.assert %562, "dim must be greater or equal to zero" | |
| cf.assert %563, "dim must be smaller than inputRank" | |
| %2424 = arith.cmpi slt, %2419, %c0_i64 : i64 | |
| %2425 = arith.cmpi eq, %c4_i64, %2419 : i64 | |
| %2426 = arith.ori %2424, %2425 : i1 | |
| cf.assert %2426, "only broadcasting singleton dimensions supported" | |
| %2427 = arith.cmpi slt, %2421, %c0_i64 : i64 | |
| %2428 = arith.cmpi eq, %c12_i64, %2421 : i64 | |
| %2429 = arith.ori %2427, %2428 : i1 | |
| cf.assert %2429, "only broadcasting singleton dimensions supported" | |
| %2430 = arith.cmpi slt, %2423, %c0_i64 : i64 | |
| %2431 = arith.cmpi eq, %c512_i64, %2423 : i64 | |
| %2432 = arith.ori %2430, %2431 : i1 | |
| cf.assert %2432, "only broadcasting singleton dimensions supported" | |
| %2433 = linalg.generic {indexing_maps = [#map14, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2417 : tensor<4x12x512x1xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2434 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg65, %2433 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2435 = linalg.generic {indexing_maps = [#map11, #map11, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2415, %2434 : tensor<4x12x512x512xf32>, tensor<4x12x512x512xf32>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.truncf %cst_0 : f64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2436 = linalg.generic {indexing_maps = [#map11, #map15, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2435, %cst_8 : tensor<4x12x512x512xf32>, tensor<f64>) outs(%531 : tensor<4x12x512x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f64, %arg345: f32): | |
| %2561 = arith.truncf %arg344 : f64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x12x512x512xf32> | |
| %2437 = tensor.collapse_shape %2436 [[0, 1], [2], [3]] : tensor<4x12x512x512xf32> into tensor<48x512x512xf32> | |
| %2438 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg63 : tensor<48x512x64xf32>) outs(%525 : tensor<48x64x512xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x64x512xf32> | |
| %2439 = linalg.fill ins(%cst : f32) outs(%525 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2440 = linalg.batch_matmul ins(%2438, %2437 : tensor<48x64x512xf32>, tensor<48x512x512xf32>) outs(%2439 : tensor<48x64x512xf32>) -> tensor<48x64x512xf32> | |
| %2441 = linalg.generic {indexing_maps = [#map0, #map13], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg64 : tensor<48x64x512xf32>) outs(%522 : tensor<48x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<48x512x64xf32> | |
| %2442 = linalg.fill ins(%cst : f32) outs(%522 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2443 = linalg.batch_matmul ins(%2437, %2441 : tensor<48x512x512xf32>, tensor<48x512x64xf32>) outs(%2442 : tensor<48x512x64xf32>) -> tensor<48x512x64xf32> | |
| %2444 = tensor.expand_shape %2440 [[0, 1], [2], [3]] : tensor<48x64x512xf32> into tensor<4x12x64x512xf32> | |
| %2445 = tensor.expand_shape %2443 [[0, 1], [2], [3]] : tensor<48x512x64xf32> into tensor<4x12x512x64xf32> | |
| %2446 = linalg.generic {indexing_maps = [#map11, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2444 : tensor<4x12x64x512xf32>) outs(%517 : tensor<4x12x512x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x12x512x64xf32> | |
| %2447 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2445 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2448 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2412 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2449 = tensor.collapse_shape %2448 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2450 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg61 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2451 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2452 = linalg.matmul ins(%2449, %2450 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2451 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2453 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2449 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2454 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2455 = linalg.matmul ins(%2453, %arg62 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2454 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2456 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2455 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2457 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2458 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2449 : tensor<2048x768xf32>) outs(%2457 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2459 = tensor.collapse_shape %2458 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2460 = tensor.expand_shape %2452 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2461 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2384, %2460 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2462 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2456 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2463 = linalg.generic {indexing_maps = [#map11, #map12], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2446 : tensor<4x12x512x64xf32>) outs(%587 : tensor<4x512x12x64xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<4x512x12x64xf32> | |
| %2464 = tensor.collapse_shape %2463 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2465 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg59 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2466 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2467 = linalg.matmul ins(%2464, %2465 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2466 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2468 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2464 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2469 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2470 = linalg.matmul ins(%2468, %arg60 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2469 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2471 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2470 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2472 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2473 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2464 : tensor<2048x768xf32>) outs(%2472 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2474 = tensor.collapse_shape %2473 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2475 = tensor.expand_shape %2467 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2476 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2461, %2475 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2477 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2471 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2478 = tensor.collapse_shape %2447 [[0, 1], [2, 3]] : tensor<4x512x12x64xf32> into tensor<2048x768xf32> | |
| %2479 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%arg57 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2480 = linalg.fill ins(%cst : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2481 = linalg.matmul ins(%2478, %2479 : tensor<2048x768xf32>, tensor<768x768xf32>) outs(%2480 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2482 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2478 : tensor<2048x768xf32>) outs(%419 : tensor<768x2048xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x2048xf32> | |
| %2483 = linalg.fill ins(%cst : f32) outs(%415 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2484 = linalg.matmul ins(%2482, %arg58 : tensor<768x2048xf32>, tensor<2048x768xf32>) outs(%2483 : tensor<768x768xf32>) -> tensor<768x768xf32> | |
| %2485 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2484 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2486 = linalg.fill ins(%cst : f32) outs(%424 : tensor<1x768xf32>) -> tensor<1x768xf32> | |
| %2487 = linalg.generic {indexing_maps = [#map2, #map7], iterator_types = ["reduction", "parallel"]} ins(%2478 : tensor<2048x768xf32>) outs(%2486 : tensor<1x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x768xf32> | |
| %2488 = tensor.collapse_shape %2487 [[0, 1]] : tensor<1x768xf32> into tensor<768xf32> | |
| %2489 = tensor.expand_shape %2481 [[0, 1], [2]] : tensor<2048x768xf32> into tensor<4x512x768xf32> | |
| %2490 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2476, %2489 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.addf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2491 = linalg.generic {indexing_maps = [#map2, #map6], iterator_types = ["parallel", "parallel"]} ins(%2485 : tensor<768x768xf32>) outs(%415 : tensor<768x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| linalg.yield %arg343 : f32 | |
| } -> tensor<768x768xf32> | |
| %2492 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2490, %arg56 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2493 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg55, %14 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2494 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2493, %15 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2495 = linalg.generic {indexing_maps = [#map0, #map9, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2492, %arg1 : tensor<4x512x768xf32>, tensor<768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2496 = linalg.generic {indexing_maps = [#map0, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2495, %cst_9 : tensor<4x512x768xf32>, tensor<i64>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.mulf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2497 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2498 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2495 : tensor<4x512x768xf32>) outs(%2497 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2499 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2495, %2494 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2500 = linalg.fill ins(%cst : f32) outs(%396 : tensor<4x512x1xf32>) -> tensor<4x512x1xf32> | |
| %2501 = linalg.generic {indexing_maps = [#map0, #map8], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2499 : tensor<4x512x768xf32>) outs(%2500 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2502 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2494, %2501 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2503 = linalg.generic {indexing_maps = [#map0, #map8, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2496, %2498 : tensor<4x512x768xf32>, tensor<4x512x1xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2504 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2503, %2502 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.sitofp %c1_i64 : i64 to f32 | |
| %2562 = arith.mulf %arg344, %2561 : f32 | |
| %2563 = arith.subf %arg343, %2562 : f32 | |
| linalg.yield %2563 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2505 = linalg.generic {indexing_maps = [#map8, #map10, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%15, %cst_9 : tensor<4x512x1xf32>, tensor<i64>) outs(%396 : tensor<4x512x1xf32>) { | |
| ^bb0(%arg343: f32, %arg344: i64, %arg345: f32): | |
| %2561 = arith.sitofp %arg344 : i64 to f32 | |
| %2562 = arith.divf %arg343, %2561 : f32 | |
| linalg.yield %2562 : f32 | |
| } -> tensor<4x512x1xf32> | |
| %2506 = linalg.generic {indexing_maps = [#map8, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2505, %2504 : tensor<4x512x1xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2507 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2492, %2494 : tensor<4x512x768xf32>, tensor<4x512x768xf32>) outs(%391 : tensor<4x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32, %arg345: f32): | |
| %2561 = arith.mulf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<4x512x768xf32> | |
| %2508 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2509 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2507 : tensor<4x512x768xf32>) outs(%2508 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2510 = linalg.fill ins(%cst : f32) outs(%408 : tensor<768xf32>) -> tensor<768xf32> | |
| %2511 = linalg.generic {indexing_maps = [#map0, #map9], iterator_types = ["reduction", "reduction", "parallel"]} ins(%2492 : tensor<4x512x768xf32>) outs(%2510 : tensor<768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<768xf32> | |
| %2512 = linalg.init_tensor [1, 512, 768] : tensor<1x512x768xf32> | |
| %2513 = linalg.fill ins(%cst : f32) outs(%2512 : tensor<1x512x768xf32>) -> tensor<1x512x768xf32> | |
| %2514 = linalg.generic {indexing_maps = [#map0, #map17], iterator_types = ["reduction", "parallel", "parallel"]} ins(%2506 : tensor<4x512x768xf32>) outs(%2513 : tensor<1x512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg343, %arg344 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<1x512x768xf32> | |
| %2515 = tensor.collapse_shape %2514 [[0, 1], [2]] : tensor<1x512x768xf32> into tensor<512x768xf32> | |
| %2516 = arith.sitofp %c0_i64 : i64 to f32 | |
| %2517 = linalg.init_tensor [512, 768] : tensor<512x768xf32> | |
| %2518 = linalg.fill ins(%2516 : f32) outs(%2517 : tensor<512x768xf32>) -> tensor<512x768xf32> | |
| %2519 = tensor.collapse_shape %arg54 [[0, 1]] : tensor<1x512xi64> into tensor<512xi64> | |
| %2520 = linalg.init_tensor [512] : tensor<512xi1> | |
| %2521 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel"]} ins(%2519 : tensor<512xi64>) outs(%2520 : tensor<512xi1>) { | |
| ^bb0(%arg343: i64, %arg344: i1): | |
| %2561 = arith.cmpi ne, %arg343, %c-1_i64 : i64 | |
| linalg.yield %2561 : i1 | |
| } -> tensor<512xi1> | |
| %2522 = tensor.expand_shape %2521 [[0, 1]] : tensor<512xi1> into tensor<512x1xi1> | |
| %2523 = arith.cmpi slt, %c512_i64, %c0_i64 : i64 | |
| %2524 = arith.cmpi eq, %c512_i64, %c512_i64 : i64 | |
| %2525 = arith.ori %2523, %2524 : i1 | |
| cf.assert %2525, "only broadcasting singleton dimensions supported" | |
| %2526 = linalg.init_tensor [512, 768] : tensor<512x768xi1> | |
| %2527 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2522 : tensor<512x1xi1>) outs(%2526 : tensor<512x768xi1>) { | |
| ^bb0(%arg343: i1, %arg344: i1): | |
| linalg.yield %arg343 : i1 | |
| } -> tensor<512x768xi1> | |
| cf.assert %354, "dim must be greater or equal to zero" | |
| cf.assert %355, "dim must be smaller than inputRank" | |
| cf.assert %362, "dim must be greater or equal to zero" | |
| cf.assert %363, "dim must be smaller than inputRank" | |
| %2528 = linalg.fill ins(%2516 : f32) outs(%2517 : tensor<512x768xf32>) -> tensor<512x768xf32> | |
| %2529 = linalg.generic {indexing_maps = [#map2, #map2, #map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%2527, %2515, %2528 : tensor<512x768xi1>, tensor<512x768xf32>, tensor<512x768xf32>) outs(%2517 : tensor<512x768xf32>) { | |
| ^bb0(%arg343: i1, %arg344: f32, %arg345: f32, %arg346: f32): | |
| %2561 = arith.select %arg343, %arg344, %arg345 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<512x768xf32> | |
| %2530 = tensor.expand_shape %2519 [[0, 1]] : tensor<512xi64> into tensor<512x1xi64> | |
| %2531 = linalg.init_tensor [512, 1] : tensor<512x1xi32> | |
| %2532 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2530 : tensor<512x1xi64>) outs(%2531 : tensor<512x1xi32>) { | |
| ^bb0(%arg343: i64, %arg344: i32): | |
| %2561 = arith.trunci %arg343 : i64 to i32 | |
| linalg.yield %2561 : i32 | |
| } -> tensor<512x1xi32> | |
| %2533 = tm_tensor.scatter unique_indices(false) ins(%2529, %2532 : tensor<512x768xf32>, tensor<512x1xi32>) outs(%2518 : tensor<512x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| tm_tensor.yield %2561 : f32 | |
| } -> tensor<512x768xf32> | |
| %2534 = tensor.collapse_shape %2506 [[0, 1], [2]] : tensor<4x512x768xf32> into tensor<2048x768xf32> | |
| %2535 = linalg.init_tensor [2, 768] : tensor<2x768xf32> | |
| %2536 = linalg.fill ins(%2516 : f32) outs(%2535 : tensor<2x768xf32>) -> tensor<2x768xf32> | |
| %2537 = tensor.collapse_shape %arg53 [[0, 1]] : tensor<4x512xi64> into tensor<2048xi64> | |
| %2538 = linalg.init_tensor [2048] : tensor<2048xi1> | |
| %2539 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel"]} ins(%2537 : tensor<2048xi64>) outs(%2538 : tensor<2048xi1>) { | |
| ^bb0(%arg343: i64, %arg344: i1): | |
| %2561 = arith.cmpi ne, %arg343, %c-1_i64 : i64 | |
| linalg.yield %2561 : i1 | |
| } -> tensor<2048xi1> | |
| %2540 = tensor.expand_shape %2539 [[0, 1]] : tensor<2048xi1> into tensor<2048x1xi1> | |
| %2541 = arith.cmpi slt, %c2048_i64, %c0_i64 : i64 | |
| %2542 = arith.cmpi eq, %c2048_i64, %c2048_i64 : i64 | |
| %2543 = arith.ori %2541, %2542 : i1 | |
| cf.assert %2543, "only broadcasting singleton dimensions supported" | |
| %2544 = linalg.init_tensor [2048, 768] : tensor<2048x768xi1> | |
| %2545 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2540 : tensor<2048x1xi1>) outs(%2544 : tensor<2048x768xi1>) { | |
| ^bb0(%arg343: i1, %arg344: i1): | |
| linalg.yield %arg343 : i1 | |
| } -> tensor<2048x768xi1> | |
| cf.assert %354, "dim must be greater or equal to zero" | |
| cf.assert %355, "dim must be smaller than inputRank" | |
| cf.assert %362, "dim must be greater or equal to zero" | |
| cf.assert %363, "dim must be smaller than inputRank" | |
| %2546 = linalg.fill ins(%2516 : f32) outs(%376 : tensor<2048x768xf32>) -> tensor<2048x768xf32> | |
| %2547 = linalg.generic {indexing_maps = [#map2, #map2, #map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%2545, %2534, %2546 : tensor<2048x768xi1>, tensor<2048x768xf32>, tensor<2048x768xf32>) outs(%376 : tensor<2048x768xf32>) { | |
| ^bb0(%arg343: i1, %arg344: f32, %arg345: f32, %arg346: f32): | |
| %2561 = arith.select %arg343, %arg344, %arg345 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<2048x768xf32> | |
| %2548 = tensor.expand_shape %2537 [[0, 1]] : tensor<2048xi64> into tensor<2048x1xi64> | |
| %2549 = linalg.init_tensor [2048, 1] : tensor<2048x1xi32> | |
| %2550 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2548 : tensor<2048x1xi64>) outs(%2549 : tensor<2048x1xi32>) { | |
| ^bb0(%arg343: i64, %arg344: i32): | |
| %2561 = arith.trunci %arg343 : i64 to i32 | |
| linalg.yield %2561 : i32 | |
| } -> tensor<2048x1xi32> | |
| %2551 = tm_tensor.scatter unique_indices(false) ins(%2547, %2550 : tensor<2048x768xf32>, tensor<2048x1xi32>) outs(%2536 : tensor<2x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| tm_tensor.yield %2561 : f32 | |
| } -> tensor<2x768xf32> | |
| %2552 = linalg.fill ins(%2516 : f32) outs(%374 : tensor<30522x768xf32>) -> tensor<30522x768xf32> | |
| %2553 = tensor.collapse_shape %arg52 [[0, 1]] : tensor<4x512xi64> into tensor<2048xi64> | |
| %2554 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel"]} ins(%2553 : tensor<2048xi64>) outs(%2538 : tensor<2048xi1>) { | |
| ^bb0(%arg343: i64, %arg344: i1): | |
| %2561 = arith.cmpi ne, %arg343, %c0_i64 : i64 | |
| linalg.yield %2561 : i1 | |
| } -> tensor<2048xi1> | |
| %2555 = tensor.expand_shape %2554 [[0, 1]] : tensor<2048xi1> into tensor<2048x1xi1> | |
| cf.assert %2543, "only broadcasting singleton dimensions supported" | |
| %2556 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2555 : tensor<2048x1xi1>) outs(%2544 : tensor<2048x768xi1>) { | |
| ^bb0(%arg343: i1, %arg344: i1): | |
| linalg.yield %arg343 : i1 | |
| } -> tensor<2048x768xi1> | |
| %2557 = linalg.generic {indexing_maps = [#map2, #map2, #map2, #map2], iterator_types = ["parallel", "parallel"]} ins(%2556, %2534, %2546 : tensor<2048x768xi1>, tensor<2048x768xf32>, tensor<2048x768xf32>) outs(%376 : tensor<2048x768xf32>) { | |
| ^bb0(%arg343: i1, %arg344: f32, %arg345: f32, %arg346: f32): | |
| %2561 = arith.select %arg343, %arg344, %arg345 : f32 | |
| linalg.yield %2561 : f32 | |
| } -> tensor<2048x768xf32> | |
| %2558 = tensor.expand_shape %2553 [[0, 1]] : tensor<2048xi64> into tensor<2048x1xi64> | |
| %2559 = linalg.generic {indexing_maps = [#map5, #map2], iterator_types = ["parallel", "parallel"]} ins(%2558 : tensor<2048x1xi64>) outs(%2549 : tensor<2048x1xi32>) { | |
| ^bb0(%arg343: i64, %arg344: i32): | |
| %2561 = arith.trunci %arg343 : i64 to i32 | |
| linalg.yield %2561 : i32 | |
| } -> tensor<2048x1xi32> | |
| %2560 = tm_tensor.scatter unique_indices(false) ins(%2557, %2559 : tensor<2048x768xf32>, tensor<2048x1xi32>) outs(%2552 : tensor<30522x768xf32>) { | |
| ^bb0(%arg343: f32, %arg344: f32): | |
| %2561 = arith.addf %arg344, %arg343 : f32 | |
| tm_tensor.yield %2561 : f32 | |
| } -> tensor<30522x768xf32> | |
| return %2511, %2509, %2533, %2551, %2560, %2389, %2387, %2401, %2402, %2474, %2477, %2488, %2491, %2459, %2462, %2367, %2370, %2341, %2339, %2353, %2355, %2220, %2218, %2232, %2233, %2305, %2308, %2319, %2322, %2290, %2293, %2198, %2201, %2172, %2170, %2184, %2186, %699, %697, %711, %712, %784, %787, %798, %801, %769, %772, %677, %680, %651, %649, %663, %665, %502, %500, %514, %515, %615, %618, %629, %632, %600, %603, %480, %483, %448, %446, %463, %465, %2051, %2049, %2063, %2064, %2136, %2139, %2150, %2153, %2121, %2124, %2029, %2032, %2003, %2001, %2015, %2017, %1882, %1880, %1894, %1895, %1967, %1970, %1981, %1984, %1952, %1955, %1860, %1863, %1834, %1832, %1846, %1848, %1713, %1711, %1725, %1726, %1798, %1801, %1812, %1815, %1783, %1786, %1691, %1694, %1665, %1663, %1677, %1679, %1544, %1542, %1556, %1557, %1629, %1632, %1643, %1646, %1614, %1617, %1522, %1525, %1496, %1494, %1508, %1510, %1375, %1373, %1387, %1388, %1460, %1463, %1474, %1477, %1445, %1448, %1353, %1356, %1327, %1325, %1339, %1341, %1206, %1204, %1218, %1219, %1291, %1294, %1305, %1308, %1276, %1279, %1184, %1187, %1158, %1156, %1170, %1172, %1037, %1035, %1049, %1050, %1122, %1125, %1136, %1139, %1107, %1110, %1015, %1018, %989, %987, %1001, %1003, %868, %866, %880, %881, %953, %956, %967, %970, %938, %941, %846, %849, %820, %818, %832, %834, %cst_7, %388, %390, %412, %410, %427, %429, %cst_7, %cst_7, %cst_7, %cst_7 : tensor<768xf32>, tensor<768xf32>, tensor<512x768xf32>, tensor<2x768xf32>, tensor<30522x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<3072xf32>, tensor<3072x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x3072xf32>, tensor<1xf32>, tensor<30522xf32>, tensor<30522x768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768xf32>, tensor<768x768xf32>, tensor<1xf32>, tensor<1xf32>, tensor<1xf32>, tensor<1xf32> | |
| } | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment