Fix #33: ASW_Basic tile 选择重写 (v1.91 §5.1/§5.2 + 尾轮 v1.5 §2.1)

- BaseM/BaseN: UnitFlag 单缓冲方形 256x256 (L0C/4B=65536 元素用满, 替代双缓冲 176x176);
  M/N < 256 被迫跟随 M/N (另一侧按 L0C 余量放大, 且收敛 L0A/L0B baseK>=16 单边上限);
  baseK = min(L0A/(2*BaseM*dt), L0B/(2*BaseN*dt)) 向下16对齐 (64KB 两侧双缓冲)
- SingleCoreM/N: 有界枚举取代旧"仅 sqrt(P)+2 范围按面积取最大"(恒退回176兜底):
  P=1 (B>=C) 先试不切分 tile 跟随 M/N; 否则枚举 mCnt<=ceil(M/BaseM) x nCnt<=ceil(N/BaseN)
  且 B*mCnt*nCnt>=C, sM/sN 为 Base 整数倍, 约束2 L1 双缓冲反推 k_L1,
  约束3 dValue>=256B 转置感知 + minTile 16KB; 目标 = 每batch搬入 K*dt*(nCnt*M+mCnt*N) 最小
  (v1.5 修正: 稳态下 k_L1 约掉, 只进约束); 并列取 r 最大
- 兜底: 约束4无解时放开到 16 对齐网格按硬下限(dValue>=128B)再搜; 极端形状
  (如 N=8 int8 大K)仍无解时退回 Base tile 并自检标注违规 (不静默产伪方案)
- constraints: ASW 双分支 L0C 口径改 UnitFlag 单缓冲 (factor 1)
- docs/06 Step0/Step1/Step6 重写为 v1.91 口径, 头部标注 2026-09 更新与 issue#33
- 回归: v1.91 §5.2 完整实例 (B=8 M=N=2048 K=1024 -> (4,4) 512x512, k_l1=128, r=0);
  方形例外 (M=128 -> 128x512); 单缓冲约束通过; 极端形状违规标注; 60->61 测试全过;
  压力 seed7/6000 + seed2024/4000: 0 崩溃/0 NaN/0 GM<V_in, 违规仅剩极端形状如实标注;
  examples 重生成可复现 0 diff (L2 重复读降 2-3x, 如 b128_m8192_n8192_k7168 1.38TB->451GB)
This commit is contained in:
2026-09-07 15:49:24 +08:00
parent 18f59599e7
commit 05ca91e291
7 changed files with 321 additions and 123 deletions

View File

@@ -7,7 +7,7 @@ merge_iter_arbitrate,128,128,64,64,512,bf16,bf16,bf16,False,False,False,True,0,m
iter_demo_form_b,128,128,64,64,256,bf16,bf16,bf16,False,False,False,True,0,iter_demo_form_b,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),4,1,64,64,256,256,2,b_双batch乒乓,64,64,256,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,双batch乒乓: 2*(MK+KN)*dtype=128KB <= L1; 输出落点: L2驻留,8388608,0.0,5.24288e-06,0.0,5.4428799999999995e-06,4,2.0000000000000002e-07,268435456.0,5.52336329218107e-07,1048576,2.0164923076923077e-07,0.0,5.4428799999999995e-06,1.8849638999683443e-07,5.631376389996834e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
iter_demo_form_d,64,64,64,64,8192,bf16,bf16,bf16,False,False,False,True,0,iter_demo_form_d,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),2,1,64,64,8192,1024,1,d_两侧都切K,64,64,256,allocate(GM->L1随路驻留L2),"direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,"两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: 直写GM",134217728,0.0,8.388608e-05,0.0,8.468608e-05,16,8.000000000000001e-07,4294967296.0,8.837381267489712e-06,524288,3.2768e-07,0.0,8.501376e-05,7.16176329218107e-07,8.572993632921812e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
streamk_demo,4,4,128,128,10240,bf16,bf16,bf16,False,False,False,True,0,streamk_demo,StreamK,Ascend950PR,batch_mat_mul_v3,32,1,1,1,32,"B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32))",1,1,128,128,320,256,1,K段标准分块流水,128,128,64,allocate(部分和驻留L2),"resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)",0,8388608,grid_K=32路切K+归约,1,1,32,0,0,0,0,True,4,"P=1.00, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终",20971520,0,1.31072e-05,0.0,1.31072e-05,0.0,0.0,1342177280.0,2.761681646090535e-06,0.0,0.0,3.4067453613053613e-06,1.31072e-05,3.4067453613053613e-06,1.651394536130536e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
asw_demo_full,2,2,8192,8192,1024,bf16,bf16,bf16,False,False,False,True,0,asw_demo_full,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,47,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,1024,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,方案B,52,52,1,52,52,2,139,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=64.0MB, V_out=256.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.06<rho_dv=0.53, A1b被dValue卡死, 方案B反超",67108864,3087007744,4.194304e-05,0.0005936553353846154,0.0006355983753846153,0.0,0.0,274877906944.0,0.0005655924011193416,268435456,0.00016777216,0.0,0.0008033705353846154,0.0,0.0008033705353846154,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
asw_demo_full,2,2,8192,8192,1024,bf16,bf16,bf16,False,False,False,True,0,asw_demo_full,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,16,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,1024,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,16,True,2,"tile枚举: P=16, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入512.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=64.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮",67108864,1006632960,4.194304e-05,0.00019358326153846154,0.00023552630153846153,0.0,0.0,274877906944.0,0.0005655924011193416,268435456,0.00016777216,0.0,0.0005655924011193416,0.0,0.0005655924011193416,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
asw_demo_reduce_core,16,16,256,256,128,bf16,bf16,bf16,False,False,False,True,0,asw_demo_reduce_core,ASW_Basic_降核,Ascend950PR,batch_mat_mul_v3,16,1,1,1,1,"降核: 只用16核, 每核一个L0C满载输出块, 其余核闲置",0,1,256,256,128,128,1,标准核内流水,256,256,64,allocate,resident(整case全驻留S_A),0,0,不涉及(每核一块无尾轮),1,1,1,0,0,0,0,True,2,"P=16.00<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)",2097152,0,2.62144e-06,0.0,2.62144e-06,0.0,0.0,268435456.0,1.104672658436214e-06,2097152,8.065969230769231e-07,0.0,2.62144e-06,0.0,2.62144e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m1_n128_k256,4,4,1,128,256,bf16,bf16,bf16,False,False,False,True,0,b4_m1_n128_k256,ASW_Basic_降核,Ascend950PR,batch_mat_mul_v3,1,1,1,1,1,"降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置",0,1,1,128,256,256,1,标准核内流水,1,128,128,allocate,resident(整case全驻留S_A),0,0,不涉及(每核一块无尾轮),1,1,1,0,0,0,0,True,2,"P=0.01<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)",264192,0,5.28384e-06,0.0,5.28384e-06,0.0,0.0,262144.0,1.7260510288065844e-08,1024,6.3015384615384615e-09,0.0,5.28384e-06,0.0,5.28384e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m2_n192_k128,8,8,2,192,128,bf16,bf16,bf16,False,False,False,True,0,b8_m2_n192_k128,ASW_Basic_降核,Ascend950PR,batch_mat_mul_v3,1,1,1,1,1,"降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置",0,1,2,192,128,128,1,标准核内流水,2,192,80,allocate,resident(整case全驻留S_A),0,0,不涉及(每核一块无尾轮),1,1,1,0,0,0,0,True,2,"P=0.05<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)",397312,0,7.94624e-06,0.0,7.94624e-06,0.0,0.0,786432.0,5.178153086419753e-08,6144,3.7809230769230766e-08,0.0,7.94624e-06,0.0,7.94624e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
@@ -15,31 +15,31 @@ b16_m4_n256_k192,16,16,4,256,192,bf16,bf16,bf16,False,False,False,True,0,b16_m4_
b32_m8_n128_k256,32,32,8,128,256,bf16,bf16,bf16,False,False,False,True,0,b32_m8_n128_k256,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),1,1,8,128,256,256,1,a_单batch全驻留,8,128,128,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,单batch全驻留: (MK+KN)*dtype=68KB <= L1; 输出落点: L2驻留,2228224,0.0,1.39264e-06,0.0,1.44264e-06,1,5.0000000000000004e-08,16777216.0,3.452102057613169e-08,65536,1.2603076923076923e-08,0.0,1.44264e-06,4.712409749920861e-08,1.4897640974992086e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m16_n256_k512,64,64,16,256,512,bf16,bf16,bf16,False,False,False,True,0,b64_m16_n256_k512,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),2,1,16,256,512,240,1,c_一侧驻留+对侧切K,16,256,64,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,"一侧驻留(A)+对侧切K: A驻留16KB, 预算L1/2, k_L1=240, dValueA=480B/dValueB=512B; 输出落点: L2驻留",17825792,0.0,1.114112e-05,0.0,1.1441120000000001e-05,6,3.0000000000000004e-07,268435456.0,5.52336329218107e-07,524288,1.0082461538461538e-07,0.0,1.1441120000000001e-05,1.798661348528015e-07,1.1620986134852803e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b128_m8_n192_k256,128,128,8,192,256,bf16,bf16,bf16,False,False,False,True,0,b128_m8_n192_k256,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),4,1,8,192,256,256,2,b_双batch乒乓,8,192,80,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,双batch乒乓: 2*(MK+KN)*dtype=200KB <= L1; 输出落点: L2驻留,13107200,0.0,8.192e-06,0.0,8.392e-06,4,2.0000000000000002e-07,100663296.0,2.0712612345679012e-07,393216,7.561846153846153e-08,0.0,8.392e-06,7.068614624881291e-08,8.462686146248813e-06,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m16_n8192_k7168,32,32,16,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m16_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,1,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,47,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=3591.0MB, V_out=8.0MB, L2=128MB); 尾轮: r=0 无尾轮",3765436416,337641472,0.00235339776,6.493105230769231e-05,0.0024183288123076924,0.0,0.0,60129542144.0,0.00012372333774485596,8388608,5.24288e-06,0.0,0.0024235716923076923,0.0,0.0024235716923076923,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m16_n8192_k7168,32,32,16,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m16_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,1,8,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,16,1024,7168,112,1,双缓冲驻留当前tile输入,16,1024,16,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,8,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=1 x nCnt=8 (tile 16x1024, 每batch搬入113.8MB, r=0); Base tile 16x1024 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=3591.0MB, V_out=8.0MB, L2=128MB); 尾轮: r=0 无尾轮",3765436416,51380224,0.00235339776,9.880812307692307e-06,0.0023632785723076925,0.0,0.0,60129542144.0,0.00012372333774485596,8388608,5.24288e-06,0.0,0.0023685214523076923,0.0,0.0023685214523076923,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m1_n8192_k8192,4,4,1,8192,8192,bf16,bf16,bf16,False,False,False,True,0,b4_m1_n8192_k8192,StreamK,Ascend950PR,batch_mat_mul_v3,32,1,1,1,32,"B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32))",1,1,1,8192,256,256,1,K段标准分块流水,1,128,64,allocate(部分和驻留L2),"resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)",0,4194304,grid_K=32路切K+归约,1,1,32,0,0,0,0,True,4,"P=0.50, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终",536936448,0.0,0.00033558528,0.0,0.00033558528,0.0,0.0,536870912.0,1.104672658436214e-06,0.0,0.0,1.731729603729604e-06,0.00033558528,1.731729603729604e-06,0.0003373170096037296,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b16_m2_n4096_k7168,16,16,2,4096,7168,bf16,bf16,bf16,False,False,False,True,0,b16_m2_n4096_k7168,StreamK,Ascend950PR,batch_mat_mul_v3,32,1,1,1,16,"B/M/N切出16块, 每块16核切K归约 (归约组内核c负责K段[c*K/16,(c+1)*K/16))",1,1,2,4096,448,256,1,K段标准分块流水,2,128,64,allocate(部分和驻留L2),"resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)",0,8388608,grid_K=16路切K+归约,1,1,16,0,0,0,0,True,4,"P=2.00, grid_K=16, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终",939982848,0,0.00058748928,0.0,0.00058748928,0.0,0.0,1879048192.0,3.866354304526749e-06,0.0,0.0,1.7726896037296038e-06,0.00058748928,1.7726896037296038e-06,0.0005892619696037297,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m64_n64_k7168,32,32,64,64,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m64_n64_k7168,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),1,1,64,64,7168,1024,1,d_两侧都切K,64,64,256,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,"两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: L2驻留",58720256,0.0,3.670016e-05,0.0,3.7050160000000004e-05,7,3.5000000000000004e-07,1879048192.0,3.866354304526749e-06,262144,5.041230769230769e-08,0.0,3.7050160000000004e-05,6.027486369104147e-07,3.765290863691042e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m1024_n1024_k7168,64,64,1024,1024,7168,bf16,bf16,bf16,False,False,False,True,0,b64_m1024_n1024_k7168,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),2,1,1024,1024,7168,64,1,d_两侧都切K,176,176,64,allocate(GM->L1随路驻留L2),"direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,"两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: 直写GM",1879048192,0.0,0.00117440512,0.0,0.0011856051200000001,224,1.1200000000000001e-05,962072674304.0,0.0019795734039176954,134217728,8.388608e-05,0.0,0.0019795734039176954,5.078042126748971e-05,0.0020303538251851853,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b128_m2048_n2048_k1536,128,128,2048,2048,1536,bf16,bf16,bf16,False,False,False,True,0,b128_m2048_n2048_k1536,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,12,12,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,1536,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,576,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1536.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",1610612736,17716740096,0.00100663296,0.003407065403076923,0.004413698363076923,0.0,0.0,1649267441664.0,0.0033935544067160493,1073741824,0.00067108864,0.0,0.005084787003076923,0.0,0.005084787003076923,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m1024_n8192_k2048,64,64,1024,8192,2048,bf16,bf16,bf16,False,False,False,True,0,b64_m1024_n8192_k2048,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,6,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,2048,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,564,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2304.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",2415919104,23085449216,0.00150994944,0.004439509464615385,0.005949458904615385,0.0,0.0,2199023255552.0,0.004524739208954733,1073741824,0.00067108864,0.0,0.006620547544615385,0.0,0.006620547544615385,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b128_m2048_n2048_k1536,128,128,2048,2048,1536,bf16,bf16,bf16,False,False,False,True,0,b128_m2048_n2048_k1536,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,4,4,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,1536,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,64,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=4 x nCnt=4 (tile 512x512, 每batch搬入48.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1536.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",1610612736,4831838208,0.00100663296,0.0009291996553846154,0.0019358326153846154,0.0,0.0,1649267441664.0,0.0033935544067160493,1073741824,0.00067108864,0.0,0.0033935544067160493,0.0,0.0033935544067160493,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b64_m1024_n8192_k2048,64,64,1024,8192,2048,bf16,bf16,bf16,False,False,False,True,0,b64_m1024_n8192_k2048,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,2,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,2048,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,64,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=2 x nCnt=16 (tile 512x512, 每batch搬入128.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2304.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",2415919104,6174015488,0.00150994944,0.0011873106707692308,0.0026972601107692305,0.0,0.0,2199023255552.0,0.004524739208954733,1073741824,0.00067108864,0.0,0.004524739208954733,0.0,0.004524739208954733,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b32_m1024_n1024_k512,32,32,1024,1024,512,bf16,bf16,bf16,False,False,False,True,0,b32_m1024_n1024_k512,IterBatch,Ascend950PR,batch_mat_mul_v3,32,32,1,1,1,切B轮转分配(核间零重复读零依赖),1,1,1024,1024,512,64,1,d_两侧都切K,176,176,64,allocate(GM->L1随路驻留L2),"resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)",0,0,不涉及(核内不切M/N),1,1,1,0,0,0,0,True,2,"两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: L2驻留",67108864,0.0,4.194304e-05,0.0,4.234304e-05,8,4.0000000000000003e-07,34359738368.0,7.06990501399177e-05,67108864,1.290555076923077e-05,0.0,7.06990501399177e-05,2.1742932036720483e-05,9.244198217663819e-05,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b128_m4096_n4096_k8192,128,128,4096,4096,8192,bf16,bf16,bf16,False,False,False,True,0,b128_m4096_n4096_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,24,24,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,8192,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,2304,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16384.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮",17179869184,395136991232,0.01073741824,0.07598788292923077,0.08672530116923077,0.0,0.0,35184372088832.0,0.07239582734327572,4294967296,0.00268435456,0.0,0.08940965572923076,0.0,0.08940965572923076,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m8192_n4096_k7168,32,32,8192,4096,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m8192_n4096_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,47,24,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,1128,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=5376.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮",5637144576,172872433664,0.00352321536,0.03324469878153846,0.03676791414153846,0.0,0.0,15393162788864.0,0.031673174462683126,2147483648,0.00134217728,0.0,0.03811009142153846,0.0,0.03811009142153846,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m2048_n2048_k8192,32,32,2048,2048,8192,bf16,bf16,bf16,False,False,False,True,0,b32_m2048_n2048_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,12,12,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,8192,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,144,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2048.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮",2147483648,23622320128,0.00134217728,0.004542753870769231,0.005884931150769231,0.0,0.0,2199023255552.0,0.004524739208954733,268435456,0.00016777216,0.0,0.006052703310769231,0.0,0.006052703310769231,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m4096_n2048_k128,64,64,4096,2048,128,bf16,bf16,bf16,False,False,False,True,0,b64_m4096_n2048_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,24,12,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,128,128,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,576,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=96.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",100663296,1509949440,6.291456e-05,0.0002903748923076923,0.0003532894523076923,0.0,0.0,137438953472.0,0.0002827962005596708,1073741824,0.00067108864,0.0,0.0010243780923076921,0.0,0.0010243780923076921,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b16_m1024_n1024_k8192,16,16,1024,1024,8192,bf16,bf16,bf16,False,False,False,True,0,b16_m1024_n1024_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,6,6,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,8192,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,18,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=512.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮",536870912,2684354560,0.00033554432,0.0005162220307692308,0.0008517663507692308,0.0,0.0,274877906944.0,0.0005655924011193416,33554432,2.097152e-05,0.0,0.0008727378707692308,0.0,0.0008727378707692308,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m32768_n128_k128,4,4,32768,128,128,bf16,bf16,bf16,False,False,False,True,0,b4_m32768_n128_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,187,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,128,128,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"resident(整case全驻留S_A: 输出驻留L2异步回写, GM写=0)",4,0,方案B,205,1,1,205,1,12,24,True,2,"L2场景: A_整case全驻留(输入+输出<=L2) (V_in=32.1MB, V_out=32.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=28.96us), 选方案B工程简洁 (一套tile)",33685504,24379392,2.105344e-05,4.688344615384615e-06,2.5741784615384616e-05,0.0,0.0,4294967296.0,8.837381267489712e-06,33554432,6.452775384615385e-06,0.0,2.5741784615384616e-05,0.0,2.5741784615384616e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m32768_n2048_k512,8,8,32768,2048,512,bf16,bf16,bf16,False,False,False,True,0,b8_m32768_n2048_k512,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,187,12,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,512,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,561,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=272.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",285212672,6073352192,0.00017825792,0.0011679523446153847,0.0013462102646153848,0.0,0.0,549755813888.0,0.0011311848022386832,1073741824,0.00067108864,0.0,0.0020172989046153846,0.0,0.0020172989046153846,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m131072_n128_k128,4,4,131072,128,128,bf16,bf16,bf16,False,False,False,True,0,b4_m131072_n128_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,745,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,128,128,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,方案B,820,1,1,820,1,4,94,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=128.1MB, V_out=128.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=115.39us), 选方案B工程简洁 (一套tile)",134348800,97517568,8.3968e-05,1.875337846153846e-05,0.00010272137846153847,0.0,0.0,17179869184.0,3.534952506995885e-05,134217728,8.388608e-05,0.0,0.00018660745846153846,0.0,0.00018660745846153846,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m131072_n1024_k256,8,8,131072,1024,256,bf16,bf16,bf16,False,False,False,True,0,b8_m131072_n1024_k256,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,745,6,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,256,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,方案B,820,7,1,820,7,16,1118,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=516.0MB, V_out=2048.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=1384.63us), 选方案B工程简洁 (一套tile)",541065216,5804916736,0.00033816576,0.0011163301415384615,0.0014544959015384616,0.0,0.0,549755813888.0,0.0011311848022386832,2147483648,0.00134217728,0.0,0.0027966731815384617,0.0,0.0027966731815384617,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b16_m32768_n8192_k7168,16,16,32768,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b16_m32768_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,187,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,方案B,205,52,1,205,52,16,4395,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=8960.0MB, V_out=8192.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.50<rho_dv=0.53, A1b被dValue卡死, 方案B反超",9395240960,695247831040,0.0058720256,0.13370150596923078,0.13957353156923077,0.0,0.0,61572651155456.0,0.1266926978507325,8589934592,0.00536870912,0.0,0.14494224068923078,0.0,0.14494224068923078,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m32768_n128_k8192,4,4,32768,128,8192,bf16,bf16,bf16,False,False,False,True,0,b4_m32768_n128_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,187,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,8192,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,方案B,205,1,1,205,1,12,24,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2056.0MB, V_out=32.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.38<rho_dv=0.53, A1b被dValue卡死, 方案B反超",2155872256,1560281088,0.00134742016,0.00030005405538461536,0.0016474742153846154,0.0,0.0,274877906944.0,0.0005655924011193416,33554432,2.097152e-05,0.0,0.0016684457353846154,0.0,0.0016684457353846154,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m131072_n8192_k128,32,32,131072,8192,128,bf16,bf16,bf16,False,False,False,True,0,b32_m131072_n8192_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,745,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,128,128,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,35015,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1088.0MB, V_out=65536.0MB, L2=128MB); 尾轮: r=0 无尾轮",1140850688,99321118720,0.00071303168,0.019100215138461538,0.019813246818461538,0.0,0.0,8796093022208.0,0.01809895683581893,68719476736,0.04294967296,0.0,0.06276291977846153,0.0,0.06276291977846153,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m32768_n8192_k1536,64,64,32768,8192,1536,bf16,bf16,bf16,False,False,False,True,0,b64_m32768_n8192_k1536,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,187,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,1536,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,17578,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7680.0MB, V_out=32768.0MB, L2=128MB); 尾轮: r=0 无尾轮",8053063680,595926712320,0.0050331648,0.11460129083076923,0.11963445563076923,0.0,0.0,52776558133248.0,0.10859374101491358,34359738368,0.02147483648,0.0,0.14110929211076922,0.0,0.14110929211076922,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m131072_n8192_k8192,8,8,131072,8192,8192,bf16,bf16,bf16,False,False,False,True,0,b8_m131072_n8192_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,745,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,8192,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A1b,2,2,1,2,2,24,8754,True,2,"L2场景: C_双侧超L2: 最小替换2D分组(组间落空GM, 窗口L2) (V_in=17408.0MB, V_out=16384.0MB, L2=128MB); 最小替换分组 m_grp=22x n_grp=24 (GM倍率3.88, 窗口L2/batch=183168.0MB); 尾轮: 周长型主导, rho=0.75>=rho_dv=0.53, A1b恒优 (尾轮tile缩√rho=0.87倍凑满核)",70866960384,1536524550144,0.04429185024,0.2954854904123077,0.3397773406523077,0.0,0.0,140737488355328.0,0.2895833093731029,17179869184,0.01073741824,0.0,0.3505147588923077,0.0,0.3505147588923077,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b128_m4096_n4096_k8192,128,128,4096,4096,8192,bf16,bf16,bf16,False,False,False,True,0,b128_m4096_n4096_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,8,8,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,8192,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,256,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=8 x nCnt=8 (tile 512x512, 每batch搬入1024.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16384.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮",17179869184,120259084288,0.01073741824,0.023126746978461538,0.033864165218461535,0.0,0.0,35184372088832.0,0.07239582734327572,4294967296,0.00268435456,0.0,0.07239582734327572,0.0,0.07239582734327572,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b32_m8192_n4096_k7168,32,32,8192,4096,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m8192_n4096_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,16,8,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,7168,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,128,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=8 (tile 512x512, 每batch搬入1792.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=5376.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮",5637144576,54492397568,0.00352321536,0.010479307224615384,0.014002522584615384,0.0,0.0,15393162788864.0,0.031673174462683126,2147483648,0.00134217728,0.0,0.031673174462683126,0.0,0.031673174462683126,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b32_m2048_n2048_k8192,32,32,2048,2048,8192,bf16,bf16,bf16,False,False,False,True,0,b32_m2048_n2048_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,4,4,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,8192,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,16,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=4 x nCnt=4 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2048.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮",2147483648,6442450944,0.00134217728,0.0012389328738461537,0.002581110153846154,0.0,0.0,2199023255552.0,0.004524739208954733,268435456,0.00016777216,0.0,0.004524739208954733,0.0,0.004524739208954733,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b64_m4096_n2048_k128,64,64,4096,2048,128,bf16,bf16,bf16,False,False,False,True,0,b64_m4096_n2048_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,8,4,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,128,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,64,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=8 x nCnt=4 (tile 512x512, 每batch搬入8.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=96.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",100663296,436207616,6.291456e-05,8.388608e-05,0.00014680063999999998,0.0,0.0,137438953472.0,0.0002827962005596708,1073741824,0.00067108864,0.0,0.00081788928,0.0,0.00081788928,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b16_m1024_n1024_k8192,16,16,1024,1024,8192,bf16,bf16,bf16,False,False,False,True,0,b16_m1024_n1024_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,2,2,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,8192,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,2,True,2,"tile枚举: P=2, 有界枚举最优 mCnt=2 x nCnt=2 (tile 512x512, 每batch搬入64.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=512.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮",536870912,536870912,0.00033554432,0.00010324440615384615,0.0004387887261538461,0.0,0.0,274877906944.0,0.0005655924011193416,33554432,2.097152e-05,0.0,0.0005655924011193416,0.0,0.0005655924011193416,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b4_m32768_n128_k128,4,4,32768,128,128,bf16,bf16,bf16,False,False,False,True,0,b4_m32768_n128_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,64,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,128,128,128,1,双缓冲驻留当前tile输入,512,128,32,allocate(输入驻留L2吸收重复读),"resident(整case全驻留S_A: 输出驻留L2异步回写, GM写=0)",4,0,A0,1,1,1,0,0,0,8,True,2,"tile枚举: P=8, 有界枚举最优 mCnt=64 x nCnt=1 (tile 512x128, 每batch搬入10.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: A_整case全驻留(输入+输出<=L2) (V_in=32.1MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮",33685504,8257536,2.105344e-05,1.5879876923076922e-06,2.2641427692307692e-05,0.0,0.0,4294967296.0,8.837381267489712e-06,33554432,6.452775384615385e-06,0.0,2.2641427692307692e-05,0.0,2.2641427692307692e-05,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m32768_n2048_k512,8,8,32768,2048,512,bf16,bf16,bf16,False,False,False,True,0,b8_m32768_n2048_k512,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,64,4,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,512,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,64,True,2,"tile枚举: P=4, 有界枚举最优 mCnt=64 x nCnt=4 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=272.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮",285212672,1862270976,0.00017825792,0.00035812903384615385,0.0005363869538461539,0.0,0.0,549755813888.0,0.0011311848022386832,1073741824,0.00067108864,0.0,0.0012074755938461538,0.0,0.0012074755938461538,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b4_m131072_n128_k128,4,4,131072,128,128,bf16,bf16,bf16,False,False,False,True,0,b4_m131072_n128_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,256,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,128,128,128,1,双缓冲驻留当前tile输入,512,128,32,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,32,True,2,"tile枚举: P=8, 有界枚举最优 mCnt=256 x nCnt=1 (tile 512x128, 每batch搬入40.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=128.1MB, V_out=128.0MB, L2=128MB); 尾轮: r=0 无尾轮",134348800,33423360,8.3968e-05,6.427569230769231e-06,9.039556923076924e-05,0.0,0.0,17179869184.0,3.534952506995885e-05,134217728,8.388608e-05,0.0,0.00017428164923076922,0.0,0.00017428164923076922,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m131072_n1024_k256,8,8,131072,1024,256,bf16,bf16,bf16,False,False,False,True,0,b8_m131072_n1024_k256,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,256,2,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,256,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,128,True,2,"tile枚举: P=4, 有界枚举最优 mCnt=256 x nCnt=2 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=516.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮",541065216,1606418432,0.00033816576,0.00030892662153846154,0.0006470923815384616,0.0,0.0,549755813888.0,0.0011311848022386832,2147483648,0.00134217728,0.0,0.0019892696615384617,0.0,0.0019892696615384617,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b16_m32768_n8192_k7168,16,16,32768,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b16_m32768_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,64,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,7168,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,512,True,2,"tile枚举: P=2, 有界枚举最优 mCnt=64 x nCnt=16 (tile 512x512, 每batch搬入14336.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=8960.0MB, V_out=8192.0MB, L2=128MB); 尾轮: r=0 无尾轮",9395240960,231122927616,0.0058720256,0.044446716849230766,0.05031874244923076,0.0,0.0,61572651155456.0,0.1266926978507325,8589934592,0.00536870912,0.0,0.1266926978507325,0.0,0.1266926978507325,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b4_m32768_n128_k8192,4,4,32768,128,8192,bf16,bf16,bf16,False,False,False,True,0,b4_m32768_n128_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,64,1,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,128,8192,192,1,双缓冲驻留当前tile输入,512,128,32,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,8,True,2,"tile枚举: P=8, 有界枚举最优 mCnt=64 x nCnt=1 (tile 512x128, 每batch搬入640.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2056.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮",2155872256,528482304,0.00134742016,0.0001016312123076923,0.0014490513723076923,0.0,0.0,274877906944.0,0.0005655924011193416,33554432,2.097152e-05,0.0,0.0014700228923076922,0.0,0.0014700228923076922,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m131072_n8192_k128,32,32,131072,8192,128,bf16,bf16,bf16,False,False,False,True,0,b32_m131072_n8192_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,256,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,128,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,4096,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=256 x nCnt=16 (tile 512x512, 每batch搬入1024.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1088.0MB, V_out=65536.0MB, L2=128MB); 尾轮: r=0 无尾轮",1140850688,33218887680,0.00071303168,0.006388247630769231,0.007101279310769231,0.0,0.0,8796093022208.0,0.01809895683581893,68719476736,0.04294967296,0.0,0.05005095227076922,0.0,0.05005095227076922,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m32768_n8192_k1536,64,64,32768,8192,1536,bf16,bf16,bf16,False,False,False,True,0,b64_m32768_n8192_k1536,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,64,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,1536,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,2048,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=64 x nCnt=16 (tile 512x512, 每batch搬入3072.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7680.0MB, V_out=32768.0MB, L2=128MB); 尾轮: r=0 无尾轮",8053063680,198105366528,0.0050331648,0.03809718587076923,0.04313035067076923,0.0,0.0,52776558133248.0,0.10859374101491358,34359738368,0.02147483648,0.0,0.10859374101491358,0.0,0.10859374101491358,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b8_m131072_n8192_k8192,8,8,131072,8192,8192,bf16,bf16,bf16,False,False,False,True,0,b8_m131072_n8192_k8192,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,256,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,8192,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,1024,True,2,"tile枚举: P=4, 有界枚举最优 mCnt=256 x nCnt=16 (tile 512x512, 每batch搬入65536.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: C_双侧超L2: 最小替换2D分组(组间落空GM, 窗口L2) (V_in=17408.0MB, V_out=16384.0MB, L2=128MB); 最小替换分组 m_grp=8x n_grp=8 (GM倍率3.76, 窗口L2/batch=57344.0MB); 尾轮: r=0 无尾轮",68719476736,481036337152,0.04294967296,0.09250698791384615,0.13545666087384614,0.0,0.0,140737488355328.0,0.2895833093731029,17179869184,0.01073741824,0.0,0.2895833093731029,0.0,0.2895833093731029,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b8_m16_n7168_k1536,8,8,16,7168,1536,bf16,bf16,bf16,False,False,False,True,0,b8_m16_n7168_k1536,StreamK,Ascend950PR,batch_mat_mul_v3,32,1,1,2,2,"B/M/N切出16块, 每块2核切K归约 (归约组内核c负责K段[c*K/2,(c+1)*K/2))",1,1,16,3584,768,256,1,K段标准分块流水,16,128,64,allocate(部分和驻留L2),"resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)",0,3670016,grid_K=2路切K+归约,1,1,2,0,0,0,0,True,4,"P=14.00, grid_K=2, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终",176553984,393216,0.00011034624,7.561846153846153e-08,0.00011042185846153846,0.0,0.0,2818572288.0,5.799531456790123e-06,0.0,0.0,2.566079254079254e-07,0.00011042185846153846,2.566079254079254e-07,0.00011067846638694638,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m1024_n7168_k7168,64,64,1024,7168,7168,bf16,bf16,bf16,False,False,False,True,0,b64_m1024_n7168_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,6,41,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,492,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=896.0MB, L2=128MB); 尾轮: r=0 无尾轮",7516192768,70464307200,0.00469762048,0.013550828307692308,0.018248448787692308,0.0,0.0,6734508720128.0,0.013857013827423869,939524096,0.00058720256,0.0,0.018835651347692307,0.0,0.018835651347692307,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b32_m8192_n8192_k7168,32,32,8192,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m8192_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,47,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,2209,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮",7516192768,345744867328,0.00469762048,0.06648939756307692,0.07118701804307692,0.0,0.0,30786325577728.0,0.06334634892536625,4294967296,0.00268435456,0.0,0.07387137260307693,0.0,0.07387137260307693,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b8_m4096_n4096_k128,8,8,4096,4096,128,bf16,bf16,bf16,False,False,False,True,0,b8_m4096_n4096_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,24,24,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,128,128,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,144,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮",16777216,385875968,1.048576e-05,7.420691692307692e-05,8.469267692307693e-05,0.0,0.0,34359738368.0,7.06990501399177e-05,268435456,0.00016777216,0.0,0.0002524648369230769,0.0,0.0002524648369230769,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b128_m8192_n8192_k7168,128,128,8192,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b128_m8192_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,47,47,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,176,176,7168,256,1,双缓冲驻留当前tile输入,176,176,80,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,8836,True,2,"L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=28672.0MB, V_out=16384.0MB, L2=128MB); 尾轮: r=0 无尾轮",30064771072,1382979469312,0.01879048192,0.2659575902523077,0.2847480721723077,0.0,0.0,123145302310912.0,0.253385395701465,17179869184,0.01073741824,0.0,0.2954854904123077,0.0,0.2954854904123077,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b64_m1024_n7168_k7168,64,64,1024,7168,7168,bf16,bf16,bf16,False,False,False,True,0,b64_m1024_n7168_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,2,14,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,7168,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,56,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=2 x nCnt=14 (tile 512x512, 每batch搬入392.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=896.0MB, L2=128MB); 尾轮: r=0 无尾轮",7516192768,18790481920,0.00469762048,0.0036135542153846152,0.008311174695384616,0.0,0.0,6734508720128.0,0.013857013827423869,939524096,0.00058720256,0.0,0.013857013827423869,0.0,0.013857013827423869,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b32_m8192_n8192_k7168,32,32,8192,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b32_m8192_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,16,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,7168,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,256,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入3584.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮",7516192768,112742891520,0.00469762048,0.021681325292307693,0.026378945772307694,0.0,0.0,30786325577728.0,0.06334634892536625,4294967296,0.00268435456,0.0,0.06334634892536625,0.0,0.06334634892536625,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
b8_m4096_n4096_k128,8,8,4096,4096,128,bf16,bf16,bf16,False,False,False,True,0,b8_m4096_n4096_k128,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,8,8,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,128,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,16,True,2,"tile枚举: P=4, 有界枚举最优 mCnt=8 x nCnt=8 (tile 512x512, 每batch搬入16.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮",16777216,117440512,1.048576e-05,2.2584713846153845e-05,3.307047384615384e-05,0.0,0.0,34359738368.0,7.06990501399177e-05,268435456,0.00016777216,0.0,0.00020084263384615383,0.0,0.00020084263384615383,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
b128_m8192_n8192_k7168,128,128,8192,8192,7168,bf16,bf16,bf16,False,False,False,True,0,b128_m8192_n8192_k7168,ASW_Basic,Ascend950PR,batch_mat_mul_v3,32,1,16,16,1,B->M->N线性映射+ASW滑窗蛇形(W=4),0,1,512,512,7168,128,1,双缓冲驻留当前tile输入,256,256,64,allocate(输入驻留L2吸收重复读),"direct_gm(输出直写GM, 输入优先驻留L2)",4,0,A0,1,1,1,0,0,0,1024,True,2,"tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入3584.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=28672.0MB, V_out=16384.0MB, L2=128MB); 尾轮: r=0 无尾轮",30064771072,450971566080,0.01879048192,0.08672530116923077,0.10551578308923078,0.0,0.0,123145302310912.0,0.253385395701465,17179869184,0.01073741824,0.0,0.253385395701465,0.0,0.253385395701465,MMAD,True,,计算Bound,"瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除"
special_k1_b64,64,64,8192,512,1,bf16,bf16,bf16,False,False,False,True,0,special_k1_b64,特殊分支,Ascend950PR,batch_mat_mul_v3,64,1,1,1,1,AIV 核间按行均分 (无 Cube tile 概念),0,1,0,0,1,0,1,UB驻留(AIV) AIV单缓冲,0,0,0,allocate,direct_gm,0,0,不涉及(AIV逐元素),1,1,1,0,0,0,0,False,2,"K=1逐元素乘: 退化为 C=A⊙B 无累加深度, Cube 16x16x16 粒度浪费 15/16; 走 AIV 通路 GM->UB->Mul->GM, AIV单缓冲 (B<2*AIV 逐batch单缓冲串行)",1114112,0.0,6.9632e-07,0.0,6.9632e-07,0.0,0.0,268435456.0,9.92969696969697e-06,536870912,0.00033554432,0.0,0.00033624063999999996,0.0,0.00033624063999999996,MTE2,True,,访存Bound(GM读写共享+L2重复读),"瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争"
1 case_id batch_a batch_b m n k dtype_a dtype_b dtype_c trans_a trans_b has_bias out_nd deterministic_level plan_case_id plan_branch plan_npu plan_op plan_used_core_num plan_split_b plan_m_cnt plan_n_cnt plan_grid_k plan_core_map plan_b_core plan_merge_b0 plan_single_core_m plan_single_core_n plan_single_core_k plan_k_l1 plan_b_l1 plan_l1_form plan_base_m plan_base_n plan_base_k plan_l2_policy_in plan_l2_policy_out plan_swizzle_w plan_workspace_bytes plan_tail_strategy plan_tail_m_cnt plan_tail_n_cnt plan_tail_k_cnt plan_tail_m_main plan_tail_n_main plan_tail_block_cnt plan_tail_wave_num plan_fixpipe_unitflag plan_out_dtype_bytes plan_note gm_read_bytes l2_read_bytes t_mte2_gm t_mte2_l2 t_mte2 dma_cmd_count t_dma_cmd cube_flops t_mmad fixpipe_bytes t_fixpipe t_reduce t_steady t_drain t_total bottleneck feasible violations bound_type advice
7 iter_demo_form_b 128 128 64 64 256 bf16 bf16 bf16 False False False True 0 iter_demo_form_b IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 4 1 64 64 256 256 2 b_双batch乒乓 64 64 256 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 双batch乒乓: 2*(MK+KN)*dtype=128KB <= L1; 输出落点: L2驻留 8388608 0.0 5.24288e-06 0.0 5.4428799999999995e-06 4 2.0000000000000002e-07 268435456.0 5.52336329218107e-07 1048576 2.0164923076923077e-07 0.0 5.4428799999999995e-06 1.8849638999683443e-07 5.631376389996834e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
8 iter_demo_form_d 64 64 64 64 8192 bf16 bf16 bf16 False False False True 0 iter_demo_form_d IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 2 1 64 64 8192 1024 1 d_两侧都切K 64 64 256 allocate(GM->L1随路驻留L2) direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: 直写GM 134217728 0.0 8.388608e-05 0.0 8.468608e-05 16 8.000000000000001e-07 4294967296.0 8.837381267489712e-06 524288 3.2768e-07 0.0 8.501376e-05 7.16176329218107e-07 8.572993632921812e-05 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
9 streamk_demo 4 4 128 128 10240 bf16 bf16 bf16 False False False True 0 streamk_demo StreamK Ascend950PR batch_mat_mul_v3 32 1 1 1 32 B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32)) 1 1 128 128 320 256 1 K段标准分块流水 128 128 64 allocate(部分和驻留L2) resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换) 0 8388608 grid_K=32路切K+归约 1 1 32 0 0 0 0 True 4 P=1.00, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终 20971520 0 1.31072e-05 0.0 1.31072e-05 0.0 0.0 1342177280.0 2.761681646090535e-06 0.0 0.0 3.4067453613053613e-06 1.31072e-05 3.4067453613053613e-06 1.651394536130536e-05 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
10 asw_demo_full 2 2 8192 8192 1024 bf16 bf16 bf16 False False False True 0 asw_demo_full ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 47 16 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 1024 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 方案B A0 52 1 52 1 1 52 0 52 0 2 0 139 16 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=64.0MB, V_out=256.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.06<rho_dv=0.53, A1b被dValue卡死, 方案B反超 tile枚举: P=16, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入512.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=64.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮 67108864 3087007744 1006632960 4.194304e-05 0.0005936553353846154 0.00019358326153846154 0.0006355983753846153 0.00023552630153846153 0.0 0.0 274877906944.0 0.0005655924011193416 268435456 0.00016777216 0.0 0.0008033705353846154 0.0005655924011193416 0.0 0.0008033705353846154 0.0005655924011193416 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
11 asw_demo_reduce_core 16 16 256 256 128 bf16 bf16 bf16 False False False True 0 asw_demo_reduce_core ASW_Basic_降核 Ascend950PR batch_mat_mul_v3 16 1 1 1 1 降核: 只用16核, 每核一个L0C满载输出块, 其余核闲置 0 1 256 256 128 128 1 标准核内流水 256 256 64 allocate resident(整case全驻留S_A) 0 0 不涉及(每核一块无尾轮) 1 1 1 0 0 0 0 True 2 P=16.00<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢) 2097152 0 2.62144e-06 0.0 2.62144e-06 0.0 0.0 268435456.0 1.104672658436214e-06 2097152 8.065969230769231e-07 0.0 2.62144e-06 0.0 2.62144e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
12 b4_m1_n128_k256 4 4 1 128 256 bf16 bf16 bf16 False False False True 0 b4_m1_n128_k256 ASW_Basic_降核 Ascend950PR batch_mat_mul_v3 1 1 1 1 1 降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置 0 1 1 128 256 256 1 标准核内流水 1 128 128 allocate resident(整case全驻留S_A) 0 0 不涉及(每核一块无尾轮) 1 1 1 0 0 0 0 True 2 P=0.01<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢) 264192 0 5.28384e-06 0.0 5.28384e-06 0.0 0.0 262144.0 1.7260510288065844e-08 1024 6.3015384615384615e-09 0.0 5.28384e-06 0.0 5.28384e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
13 b8_m2_n192_k128 8 8 2 192 128 bf16 bf16 bf16 False False False True 0 b8_m2_n192_k128 ASW_Basic_降核 Ascend950PR batch_mat_mul_v3 1 1 1 1 1 降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置 0 1 2 192 128 128 1 标准核内流水 2 192 80 allocate resident(整case全驻留S_A) 0 0 不涉及(每核一块无尾轮) 1 1 1 0 0 0 0 True 2 P=0.05<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢) 397312 0 7.94624e-06 0.0 7.94624e-06 0.0 0.0 786432.0 5.178153086419753e-08 6144 3.7809230769230766e-08 0.0 7.94624e-06 0.0 7.94624e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
15 b32_m8_n128_k256 32 32 8 128 256 bf16 bf16 bf16 False False False True 0 b32_m8_n128_k256 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 1 1 8 128 256 256 1 a_单batch全驻留 8 128 128 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 单batch全驻留: (MK+KN)*dtype=68KB <= L1; 输出落点: L2驻留 2228224 0.0 1.39264e-06 0.0 1.44264e-06 1 5.0000000000000004e-08 16777216.0 3.452102057613169e-08 65536 1.2603076923076923e-08 0.0 1.44264e-06 4.712409749920861e-08 1.4897640974992086e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
16 b64_m16_n256_k512 64 64 16 256 512 bf16 bf16 bf16 False False False True 0 b64_m16_n256_k512 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 2 1 16 256 512 240 1 c_一侧驻留+对侧切K 16 256 64 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 一侧驻留(A)+对侧切K: A驻留16KB, 预算L1/2, k_L1=240, dValueA=480B/dValueB=512B; 输出落点: L2驻留 17825792 0.0 1.114112e-05 0.0 1.1441120000000001e-05 6 3.0000000000000004e-07 268435456.0 5.52336329218107e-07 524288 1.0082461538461538e-07 0.0 1.1441120000000001e-05 1.798661348528015e-07 1.1620986134852803e-05 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
17 b128_m8_n192_k256 128 128 8 192 256 bf16 bf16 bf16 False False False True 0 b128_m8_n192_k256 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 4 1 8 192 256 256 2 b_双batch乒乓 8 192 80 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 双batch乒乓: 2*(MK+KN)*dtype=200KB <= L1; 输出落点: L2驻留 13107200 0.0 8.192e-06 0.0 8.392e-06 4 2.0000000000000002e-07 100663296.0 2.0712612345679012e-07 393216 7.561846153846153e-08 0.0 8.392e-06 7.068614624881291e-08 8.462686146248813e-06 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
18 b32_m16_n8192_k7168 32 32 16 8192 7168 bf16 bf16 bf16 False False False True 0 b32_m16_n8192_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 1 47 8 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 16 176 1024 7168 256 112 1 双缓冲驻留当前tile输入 176 16 176 1024 80 16 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 47 8 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=3591.0MB, V_out=8.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=1 x nCnt=8 (tile 16x1024, 每batch搬入113.8MB, r=0); Base tile 16x1024 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=3591.0MB, V_out=8.0MB, L2=128MB); 尾轮: r=0 无尾轮 3765436416 337641472 51380224 0.00235339776 6.493105230769231e-05 9.880812307692307e-06 0.0024183288123076924 0.0023632785723076925 0.0 0.0 60129542144.0 0.00012372333774485596 8388608 5.24288e-06 0.0 0.0024235716923076923 0.0023685214523076923 0.0 0.0024235716923076923 0.0023685214523076923 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
19 b4_m1_n8192_k8192 4 4 1 8192 8192 bf16 bf16 bf16 False False False True 0 b4_m1_n8192_k8192 StreamK Ascend950PR batch_mat_mul_v3 32 1 1 1 32 B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32)) 1 1 1 8192 256 256 1 K段标准分块流水 1 128 64 allocate(部分和驻留L2) resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换) 0 4194304 grid_K=32路切K+归约 1 1 32 0 0 0 0 True 4 P=0.50, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终 536936448 0.0 0.00033558528 0.0 0.00033558528 0.0 0.0 536870912.0 1.104672658436214e-06 0.0 0.0 1.731729603729604e-06 0.00033558528 1.731729603729604e-06 0.0003373170096037296 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
20 b16_m2_n4096_k7168 16 16 2 4096 7168 bf16 bf16 bf16 False False False True 0 b16_m2_n4096_k7168 StreamK Ascend950PR batch_mat_mul_v3 32 1 1 1 16 B/M/N切出16块, 每块16核切K归约 (归约组内核c负责K段[c*K/16,(c+1)*K/16)) 1 1 2 4096 448 256 1 K段标准分块流水 2 128 64 allocate(部分和驻留L2) resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换) 0 8388608 grid_K=16路切K+归约 1 1 16 0 0 0 0 True 4 P=2.00, grid_K=16, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终 939982848 0 0.00058748928 0.0 0.00058748928 0.0 0.0 1879048192.0 3.866354304526749e-06 0.0 0.0 1.7726896037296038e-06 0.00058748928 1.7726896037296038e-06 0.0005892619696037297 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
21 b32_m64_n64_k7168 32 32 64 64 7168 bf16 bf16 bf16 False False False True 0 b32_m64_n64_k7168 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 1 1 64 64 7168 1024 1 d_两侧都切K 64 64 256 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: L2驻留 58720256 0.0 3.670016e-05 0.0 3.7050160000000004e-05 7 3.5000000000000004e-07 1879048192.0 3.866354304526749e-06 262144 5.041230769230769e-08 0.0 3.7050160000000004e-05 6.027486369104147e-07 3.765290863691042e-05 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
22 b64_m1024_n1024_k7168 64 64 1024 1024 7168 bf16 bf16 bf16 False False False True 0 b64_m1024_n1024_k7168 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 2 1 1024 1024 7168 64 1 d_两侧都切K 176 176 64 allocate(GM->L1随路驻留L2) direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: 直写GM 1879048192 0.0 0.00117440512 0.0 0.0011856051200000001 224 1.1200000000000001e-05 962072674304.0 0.0019795734039176954 134217728 8.388608e-05 0.0 0.0019795734039176954 5.078042126748971e-05 0.0020303538251851853 MMAD True 计算Bound 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
23 b128_m2048_n2048_k1536 128 128 2048 2048 1536 bf16 bf16 bf16 False False False True 0 b128_m2048_n2048_k1536 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 12 4 12 4 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 1536 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 576 64 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1536.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=4 x nCnt=4 (tile 512x512, 每batch搬入48.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1536.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 1610612736 17716740096 4831838208 0.00100663296 0.003407065403076923 0.0009291996553846154 0.004413698363076923 0.0019358326153846154 0.0 0.0 1649267441664.0 0.0033935544067160493 1073741824 0.00067108864 0.0 0.005084787003076923 0.0033935544067160493 0.0 0.005084787003076923 0.0033935544067160493 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
24 b64_m1024_n8192_k2048 64 64 1024 8192 2048 bf16 bf16 bf16 False False False True 0 b64_m1024_n8192_k2048 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 6 2 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 2048 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 564 64 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2304.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=2 x nCnt=16 (tile 512x512, 每batch搬入128.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2304.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 2415919104 23085449216 6174015488 0.00150994944 0.004439509464615385 0.0011873106707692308 0.005949458904615385 0.0026972601107692305 0.0 0.0 2199023255552.0 0.004524739208954733 1073741824 0.00067108864 0.0 0.006620547544615385 0.004524739208954733 0.0 0.006620547544615385 0.004524739208954733 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
25 b32_m1024_n1024_k512 32 32 1024 1024 512 bf16 bf16 bf16 False False False True 0 b32_m1024_n1024_k512 IterBatch Ascend950PR batch_mat_mul_v3 32 32 1 1 1 切B轮转分配(核间零重复读零依赖) 1 1 1024 1024 512 64 1 d_两侧都切K 176 176 64 allocate(GM->L1随路驻留L2) resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0) 0 0 不涉及(核内不切M/N) 1 1 1 0 0 0 0 True 2 两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: L2驻留 67108864 0.0 4.194304e-05 0.0 4.234304e-05 8 4.0000000000000003e-07 34359738368.0 7.06990501399177e-05 67108864 1.290555076923077e-05 0.0 7.06990501399177e-05 2.1742932036720483e-05 9.244198217663819e-05 MMAD True 计算Bound 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
26 b128_m4096_n4096_k8192 128 128 4096 4096 8192 bf16 bf16 bf16 False False False True 0 b128_m4096_n4096_k8192 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 24 8 24 8 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 8192 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 2304 256 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16384.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=8 x nCnt=8 (tile 512x512, 每batch搬入1024.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16384.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮 17179869184 395136991232 120259084288 0.01073741824 0.07598788292923077 0.023126746978461538 0.08672530116923077 0.033864165218461535 0.0 0.0 35184372088832.0 0.07239582734327572 4294967296 0.00268435456 0.0 0.08940965572923076 0.07239582734327572 0.0 0.08940965572923076 0.07239582734327572 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
27 b32_m8192_n4096_k7168 32 32 8192 4096 7168 bf16 bf16 bf16 False False False True 0 b32_m8192_n4096_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 47 16 24 8 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 7168 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 1128 128 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=5376.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=8 (tile 512x512, 每batch搬入1792.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=5376.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮 5637144576 172872433664 54492397568 0.00352321536 0.03324469878153846 0.010479307224615384 0.03676791414153846 0.014002522584615384 0.0 0.0 15393162788864.0 0.031673174462683126 2147483648 0.00134217728 0.0 0.03811009142153846 0.031673174462683126 0.0 0.03811009142153846 0.031673174462683126 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
28 b32_m2048_n2048_k8192 32 32 2048 2048 8192 bf16 bf16 bf16 False False False True 0 b32_m2048_n2048_k8192 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 12 4 12 4 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 8192 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 144 16 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2048.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=4 x nCnt=4 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2048.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮 2147483648 23622320128 6442450944 0.00134217728 0.004542753870769231 0.0012389328738461537 0.005884931150769231 0.002581110153846154 0.0 0.0 2199023255552.0 0.004524739208954733 268435456 0.00016777216 0.0 0.006052703310769231 0.004524739208954733 0.0 0.006052703310769231 0.004524739208954733 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
29 b64_m4096_n2048_k128 64 64 4096 2048 128 bf16 bf16 bf16 False False False True 0 b64_m4096_n2048_k128 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 24 8 12 4 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 128 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 576 64 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=96.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=8 x nCnt=4 (tile 512x512, 每batch搬入8.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=96.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 100663296 1509949440 436207616 6.291456e-05 0.0002903748923076923 8.388608e-05 0.0003532894523076923 0.00014680063999999998 0.0 0.0 137438953472.0 0.0002827962005596708 1073741824 0.00067108864 0.0 0.0010243780923076921 0.00081788928 0.0 0.0010243780923076921 0.00081788928 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
30 b16_m1024_n1024_k8192 16 16 1024 1024 8192 bf16 bf16 bf16 False False False True 0 b16_m1024_n1024_k8192 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 6 2 6 2 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 8192 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 18 2 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=512.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=2, 有界枚举最优 mCnt=2 x nCnt=2 (tile 512x512, 每batch搬入64.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=512.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮 536870912 2684354560 536870912 0.00033554432 0.0005162220307692308 0.00010324440615384615 0.0008517663507692308 0.0004387887261538461 0.0 0.0 274877906944.0 0.0005655924011193416 33554432 2.097152e-05 0.0 0.0008727378707692308 0.0005655924011193416 0.0 0.0008727378707692308 0.0005655924011193416 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
31 b4_m32768_n128_k128 4 4 32768 128 128 bf16 bf16 bf16 False False False True 0 b4_m32768_n128_k128 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 187 64 1 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 128 128 128 1 双缓冲驻留当前tile输入 176 512 176 128 80 32 allocate(输入驻留L2吸收重复读) resident(整case全驻留S_A: 输出驻留L2异步回写, GM写=0) 4 0 方案B A0 205 1 1 1 205 0 1 0 12 0 24 8 True 2 L2场景: A_整case全驻留(输入+输出<=L2) (V_in=32.1MB, V_out=32.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=28.96us), 选方案B工程简洁 (一套tile) tile枚举: P=8, 有界枚举最优 mCnt=64 x nCnt=1 (tile 512x128, 每batch搬入10.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: A_整case全驻留(输入+输出<=L2) (V_in=32.1MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮 33685504 24379392 8257536 2.105344e-05 4.688344615384615e-06 1.5879876923076922e-06 2.5741784615384616e-05 2.2641427692307692e-05 0.0 0.0 4294967296.0 8.837381267489712e-06 33554432 6.452775384615385e-06 0.0 2.5741784615384616e-05 2.2641427692307692e-05 0.0 2.5741784615384616e-05 2.2641427692307692e-05 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
32 b8_m32768_n2048_k512 8 8 32768 2048 512 bf16 bf16 bf16 False False False True 0 b8_m32768_n2048_k512 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 187 64 12 4 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 512 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 561 64 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=272.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=4, 有界枚举最优 mCnt=64 x nCnt=4 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=272.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮 285212672 6073352192 1862270976 0.00017825792 0.0011679523446153847 0.00035812903384615385 0.0013462102646153848 0.0005363869538461539 0.0 0.0 549755813888.0 0.0011311848022386832 1073741824 0.00067108864 0.0 0.0020172989046153846 0.0012074755938461538 0.0 0.0020172989046153846 0.0012074755938461538 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
33 b4_m131072_n128_k128 4 4 131072 128 128 bf16 bf16 bf16 False False False True 0 b4_m131072_n128_k128 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 745 256 1 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 128 128 128 1 双缓冲驻留当前tile输入 176 512 176 128 80 32 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 方案B A0 820 1 1 1 820 0 1 0 4 0 94 32 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=128.1MB, V_out=128.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=115.39us), 选方案B工程简洁 (一套tile) tile枚举: P=8, 有界枚举最优 mCnt=256 x nCnt=1 (tile 512x128, 每batch搬入40.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=128.1MB, V_out=128.0MB, L2=128MB); 尾轮: r=0 无尾轮 134348800 97517568 33423360 8.3968e-05 1.875337846153846e-05 6.427569230769231e-06 0.00010272137846153847 9.039556923076924e-05 0.0 0.0 17179869184.0 3.534952506995885e-05 134217728 8.388608e-05 0.0 0.00018660745846153846 0.00017428164923076922 0.0 0.00018660745846153846 0.00017428164923076922 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
34 b8_m131072_n1024_k256 8 8 131072 1024 256 bf16 bf16 bf16 False False False True 0 b8_m131072_n1024_k256 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 745 256 6 2 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 256 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 方案B A0 820 1 7 1 1 820 0 7 0 16 0 1118 128 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=516.0MB, V_out=2048.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=1384.63us), 选方案B工程简洁 (一套tile) tile枚举: P=4, 有界枚举最优 mCnt=256 x nCnt=2 (tile 512x512, 每batch搬入256.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=516.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮 541065216 5804916736 1606418432 0.00033816576 0.0011163301415384615 0.00030892662153846154 0.0014544959015384616 0.0006470923815384616 0.0 0.0 549755813888.0 0.0011311848022386832 2147483648 0.00134217728 0.0 0.0027966731815384617 0.0019892696615384617 0.0 0.0027966731815384617 0.0019892696615384617 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
35 b16_m32768_n8192_k7168 16 16 32768 8192 7168 bf16 bf16 bf16 False False False True 0 b16_m32768_n8192_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 187 64 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 7168 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 方案B A0 205 1 52 1 1 205 0 52 0 16 0 4395 512 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=8960.0MB, V_out=8192.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.50<rho_dv=0.53, A1b被dValue卡死, 方案B反超 tile枚举: P=2, 有界枚举最优 mCnt=64 x nCnt=16 (tile 512x512, 每batch搬入14336.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=8960.0MB, V_out=8192.0MB, L2=128MB); 尾轮: r=0 无尾轮 9395240960 695247831040 231122927616 0.0058720256 0.13370150596923078 0.044446716849230766 0.13957353156923077 0.05031874244923076 0.0 0.0 61572651155456.0 0.1266926978507325 8589934592 0.00536870912 0.0 0.14494224068923078 0.1266926978507325 0.0 0.14494224068923078 0.1266926978507325 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
36 b4_m32768_n128_k8192 4 4 32768 128 8192 bf16 bf16 bf16 False False False True 0 b4_m32768_n128_k8192 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 187 64 1 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 128 8192 256 192 1 双缓冲驻留当前tile输入 176 512 176 128 80 32 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 方案B A0 205 1 1 1 205 0 1 0 12 0 24 8 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2056.0MB, V_out=32.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.38<rho_dv=0.53, A1b被dValue卡死, 方案B反超 tile枚举: P=8, 有界枚举最优 mCnt=64 x nCnt=1 (tile 512x128, 每batch搬入640.0MB, r=0); Base tile 512x128 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2056.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮 2155872256 1560281088 528482304 0.00134742016 0.00030005405538461536 0.0001016312123076923 0.0016474742153846154 0.0014490513723076923 0.0 0.0 274877906944.0 0.0005655924011193416 33554432 2.097152e-05 0.0 0.0016684457353846154 0.0014700228923076922 0.0 0.0016684457353846154 0.0014700228923076922 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
37 b32_m131072_n8192_k128 32 32 131072 8192 128 bf16 bf16 bf16 False False False True 0 b32_m131072_n8192_k128 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 745 256 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 128 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 35015 4096 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1088.0MB, V_out=65536.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=256 x nCnt=16 (tile 512x512, 每batch搬入1024.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1088.0MB, V_out=65536.0MB, L2=128MB); 尾轮: r=0 无尾轮 1140850688 99321118720 33218887680 0.00071303168 0.019100215138461538 0.006388247630769231 0.019813246818461538 0.007101279310769231 0.0 0.0 8796093022208.0 0.01809895683581893 68719476736 0.04294967296 0.0 0.06276291977846153 0.05005095227076922 0.0 0.06276291977846153 0.05005095227076922 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
38 b64_m32768_n8192_k1536 64 64 32768 8192 1536 bf16 bf16 bf16 False False False True 0 b64_m32768_n8192_k1536 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 187 64 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 1536 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 17578 2048 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7680.0MB, V_out=32768.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=64 x nCnt=16 (tile 512x512, 每batch搬入3072.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7680.0MB, V_out=32768.0MB, L2=128MB); 尾轮: r=0 无尾轮 8053063680 595926712320 198105366528 0.0050331648 0.11460129083076923 0.03809718587076923 0.11963445563076923 0.04313035067076923 0.0 0.0 52776558133248.0 0.10859374101491358 34359738368 0.02147483648 0.0 0.14110929211076922 0.10859374101491358 0.0 0.14110929211076922 0.10859374101491358 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
39 b8_m131072_n8192_k8192 8 8 131072 8192 8192 bf16 bf16 bf16 False False False True 0 b8_m131072_n8192_k8192 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 745 256 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 8192 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A1b A0 2 1 2 1 1 2 0 2 0 24 0 8754 1024 True 2 L2场景: C_双侧超L2: 最小替换2D分组(组间落空GM, 窗口L2) (V_in=17408.0MB, V_out=16384.0MB, L2=128MB); 最小替换分组 m_grp=22x n_grp=24 (GM倍率3.88, 窗口L2/batch=183168.0MB); 尾轮: 周长型主导, rho=0.75>=rho_dv=0.53, A1b恒优 (尾轮tile缩√rho=0.87倍凑满核) tile枚举: P=4, 有界枚举最优 mCnt=256 x nCnt=16 (tile 512x512, 每batch搬入65536.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: C_双侧超L2: 最小替换2D分组(组间落空GM, 窗口L2) (V_in=17408.0MB, V_out=16384.0MB, L2=128MB); 最小替换分组 m_grp=8x n_grp=8 (GM倍率3.76, 窗口L2/batch=57344.0MB); 尾轮: r=0 无尾轮 70866960384 68719476736 1536524550144 481036337152 0.04429185024 0.04294967296 0.2954854904123077 0.09250698791384615 0.3397773406523077 0.13545666087384614 0.0 0.0 140737488355328.0 0.2895833093731029 17179869184 0.01073741824 0.0 0.3505147588923077 0.2895833093731029 0.0 0.3505147588923077 0.2895833093731029 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
40 b8_m16_n7168_k1536 8 8 16 7168 1536 bf16 bf16 bf16 False False False True 0 b8_m16_n7168_k1536 StreamK Ascend950PR batch_mat_mul_v3 32 1 1 2 2 B/M/N切出16块, 每块2核切K归约 (归约组内核c负责K段[c*K/2,(c+1)*K/2)) 1 1 16 3584 768 256 1 K段标准分块流水 16 128 64 allocate(部分和驻留L2) resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换) 0 3670016 grid_K=2路切K+归约 1 1 2 0 0 0 0 True 4 P=14.00, grid_K=2, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终 176553984 393216 0.00011034624 7.561846153846153e-08 0.00011042185846153846 0.0 0.0 2818572288.0 5.799531456790123e-06 0.0 0.0 2.566079254079254e-07 0.00011042185846153846 2.566079254079254e-07 0.00011067846638694638 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
41 b64_m1024_n7168_k7168 64 64 1024 7168 7168 bf16 bf16 bf16 False False False True 0 b64_m1024_n7168_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 6 2 41 14 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 7168 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 492 56 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=896.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=2 x nCnt=14 (tile 512x512, 每batch搬入392.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=896.0MB, L2=128MB); 尾轮: r=0 无尾轮 7516192768 70464307200 18790481920 0.00469762048 0.013550828307692308 0.0036135542153846152 0.018248448787692308 0.008311174695384616 0.0 0.0 6734508720128.0 0.013857013827423869 939524096 0.00058720256 0.0 0.018835651347692307 0.013857013827423869 0.0 0.018835651347692307 0.013857013827423869 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
42 b32_m8192_n8192_k7168 32 32 8192 8192 7168 bf16 bf16 bf16 False False False True 0 b32_m8192_n8192_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 47 16 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 7168 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 2209 256 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入3584.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮 7516192768 345744867328 112742891520 0.00469762048 0.06648939756307692 0.021681325292307693 0.07118701804307692 0.026378945772307694 0.0 0.0 30786325577728.0 0.06334634892536625 4294967296 0.00268435456 0.0 0.07387137260307693 0.06334634892536625 0.0 0.07387137260307693 0.06334634892536625 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
43 b8_m4096_n4096_k128 8 8 4096 4096 128 bf16 bf16 bf16 False False False True 0 b8_m4096_n4096_k128 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 24 8 24 8 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 128 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 144 16 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=4, 有界枚举最优 mCnt=8 x nCnt=8 (tile 512x512, 每batch搬入16.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮 16777216 385875968 117440512 1.048576e-05 7.420691692307692e-05 2.2584713846153845e-05 8.469267692307693e-05 3.307047384615384e-05 0.0 0.0 34359738368.0 7.06990501399177e-05 268435456 0.00016777216 0.0 0.0002524648369230769 0.00020084263384615383 0.0 0.0002524648369230769 0.00020084263384615383 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争
44 b128_m8192_n8192_k7168 128 128 8192 8192 7168 bf16 bf16 bf16 False False False True 0 b128_m8192_n8192_k7168 ASW_Basic Ascend950PR batch_mat_mul_v3 32 1 47 16 47 16 1 B->M->N线性映射+ASW滑窗蛇形(W=4) 0 1 176 512 176 512 7168 256 128 1 双缓冲驻留当前tile输入 176 256 176 256 80 64 allocate(输入驻留L2吸收重复读) direct_gm(输出直写GM, 输入优先驻留L2) 4 0 A0 1 1 1 0 0 0 8836 1024 True 2 L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=28672.0MB, V_out=16384.0MB, L2=128MB); 尾轮: r=0 无尾轮 tile枚举: P=1, 有界枚举最优 mCnt=16 x nCnt=16 (tile 512x512, 每batch搬入3584.0MB, r=0); Base tile 256x256 (L0C 单缓冲方形用满); L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=28672.0MB, V_out=16384.0MB, L2=128MB); 尾轮: r=0 无尾轮 30064771072 1382979469312 450971566080 0.01879048192 0.2659575902523077 0.08672530116923077 0.2847480721723077 0.10551578308923078 0.0 0.0 123145302310912.0 0.253385395701465 17179869184 0.01073741824 0.0 0.2954854904123077 0.253385395701465 0.0 0.2954854904123077 0.253385395701465 MTE2 MMAD True 访存Bound(GM读写共享+L2重复读) 计算Bound 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争 瓶颈在 Cube 计算: 已接近理论算力上限, 检查是否有冗余计算 (MergeBatch 交叉项) 可消除
45 special_k1_b64 64 64 8192 512 1 bf16 bf16 bf16 False False False True 0 special_k1_b64 特殊分支 Ascend950PR batch_mat_mul_v3 64 1 1 1 1 AIV 核间按行均分 (无 Cube tile 概念) 0 1 0 0 1 0 1 UB驻留(AIV) AIV单缓冲 0 0 0 allocate direct_gm 0 0 不涉及(AIV逐元素) 1 1 1 0 0 0 0 False 2 K=1逐元素乘: 退化为 C=A⊙B 无累加深度, Cube 16x16x16 粒度浪费 15/16; 走 AIV 通路 GM->UB->Mul->GM, AIV单缓冲 (B<2*AIV 逐batch单缓冲串行) 1114112 0.0 6.9632e-07 0.0 6.9632e-07 0.0 0.0 268435456.0 9.92969696969697e-06 536870912 0.00033554432 0.0 0.00033624063999999996 0.0 0.00033624063999999996 MTE2 True 访存Bound(GM读写共享+L2重复读) 瓶颈在 MTE2 搬移链 (GM 读写共享总线 + L2 重复读): 可增大 tile 提升 dValue/单核搬移量、利用 L2 驻留吸收重复读 (ASW swizzle/分组方向), 或评估输出驻留 L2 以减少 GM 直写与读竞争