Files
matmul-analysis/BMM/BMM_Theory/examples/plans.csv
admin 18f59599e7 Fix #31/#32: 切B类GM每字节恰一次=V_in(去K切分整段上取) / ASW场景升级(单侧全驻留+对侧滑窗->S_B, S_C最小替换2D分组+窗口L2计账) / 06文档§3+Step5与docs/05同步
#31 IterBatch/MergeBatch: K切分各(batch,K段)互不重叠+驻留侧每batch一次+末段按实际剩余
    -> GM读取量=V_in(与L2容量无关), GM数据时延=V_in/W_GM; n_K仅决定DMA命令数(T_cmd)
    b64_m16_n256_k512 形态c: GM 25.07MB->17.83MB=V_in; 回归: 形态c/d非整除+L1绑定三类断言
#32 ASW: (1)S_B扩展单侧全驻留+对侧滑窗(a_b/b_b+2*对侧单块<=L2) -> GM=V_in, 6个场景C行回落S_B;
    (2)S_C在整L2容量约束下搜索最小GM=ceil(n_cnt/n_grp)a_b+ceil(m_cnt/m_grp)b_b(取代L2/2对半预算),
    并计组内窗口L2流量((n_cnt-ceil)a_b+(m_cnt-ceil)b_b), 与S_B'驻留命中走L2'口径一致;
    b8_m131072_n8192_k8192 GM倍率4.76x->3.88x(物理下界~3.9x, 双侧均超L2)
    大方形K行(如b128_m8192_n8192_k7168)由MMAD 253ms->MTE2(L2口)295ms: 共享块重复读1.38TB
    经L2读口5.2TB/s, 如实计账(原C窗口流量零计低估)
- docs/06 §3与Step5重写为S_A/S_B/S_C+两段链口径(旧r_in单段/除B/对半预算口径废弃)
- docs/05 R5/R6/§3.1/§4.1/§4.3/§5与docs/01、02(01_MergeBatch/02_IterBatch GM口径附注)同步
- tests 54/54; 压力seed7/6000+seed2024/4000: 0违规/0占位/0NaN/0GM<V_in; examples重生成0diff
2026-09-04 17:12:47 +08:00

19 KiB

1case_idbranchnpuopused_core_numsplit_bm_cntn_cntgrid_kcore_mapb_coremerge_b0single_core_msingle_core_nsingle_core_kk_l1b_l1l1_formbase_mbase_nbase_kl2_policy_inl2_policy_outswizzle_wworkspace_bytestail_strategytail_m_cnttail_n_cnttail_k_cnttail_m_maintail_n_maintail_block_cnttail_wave_numfixpipe_unitflagout_dtype_bytesnote
2to_matmul_demo转MatmulAscend950PRbatch_mat_mul_v3321001折叠为 Matmul [2048,2048]x[2048,2048], 复用 Matmul 切分体系010020480100000转Matmul后由 Matmul 体系决定1110000True2BatchB=1免费折叠: 左矩阵 [1,2048,2048] 视图折叠为 [2048,2048], 零重排零 split
3special_k0_demo特殊分支Ascend950PRbatch_mat_mul_v3641111AIV 核间按行均分 (无 Cube tile 概念)0100001UB驻留(AIV)000allocatedirect_gm00不涉及(AIV逐元素)1110000False2K=0纯写值: 无任何计算, C=bias 或 0, 纯 AIV 写值; 按行均分到 AIV 核
4special_k1_demo特殊分支Ascend950PRbatch_mat_mul_v3641111AIV 核间按行均分 (无 Cube tile 概念)0100101UB驻留(AIV) UB乒乓000allocatedirect_gm00不涉及(AIV逐元素)1110000False2K=1逐元素乘: 退化为 C=A⊙B 无累加深度, Cube 16x16x16 粒度浪费 15/16; 走 AIV 通路 GM->UB->Mul->GM, UB乒乓 (B>=2*AIV 双batch乒乓流水)
5merge_demo_k_truncMergeBatchAscend950PRbatch_mat_mul_v33232111切B均分(核间零重复读零依赖)6441281282562568合并驻留128128128allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2b0=4 (L0C上限5.7/算存比上限19.0/b_core=64); K截断; 合并后单次DMA搬入 A'[128,256]+B'[256,128]; 输出落点: L2驻留 (整case V_in+V_out=64.0MB vs L2=128MB)
6merge_iter_arbitrateIterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)4164645125122b_双batch乒乓6464256allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2双batch乒乓: 2*(MK+KN)*dtype=256KB <= L1; 输出落点: L2驻留
7iter_demo_form_bIterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)4164642562562b_双batch乒乓6464256allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2双batch乒乓: 2*(MK+KN)*dtype=128KB <= L1; 输出落点: L2驻留
8iter_demo_form_dIterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)216464819210241d_两侧都切K6464256allocate(GM->L1随路驻留L2)direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2)00不涉及(核内不切M/N)1110000True2两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: 直写GM
9streamk_demoStreamKAscend950PRbatch_mat_mul_v33211132B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32))111281283202561K段标准分块流水12812864allocate(部分和驻留L2)resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)08388608grid_K=32路切K+归约11320000True4P=1.00, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终
10asw_demo_fullASW_BasicAscend950PRbatch_mat_mul_v332147471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617610242561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40方案B5252152522139True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=64.0MB, V_out=256.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.06<rho_dv=0.53, A1b被dValue卡死, 方案B反超
11asw_demo_reduce_coreASW_Basic_降核Ascend950PRbatch_mat_mul_v3161111降核: 只用16核, 每核一个L0C满载输出块, 其余核闲置012562561281281标准核内流水25625664allocateresident(整case全驻留S_A)00不涉及(每核一块无尾轮)1110000True2P=16.00<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)
12b4_m1_n128_k256ASW_Basic_降核Ascend950PRbatch_mat_mul_v311111降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置0111282562561标准核内流水1128128allocateresident(整case全驻留S_A)00不涉及(每核一块无尾轮)1110000True2P=0.01<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)
13b8_m2_n192_k128ASW_Basic_降核Ascend950PRbatch_mat_mul_v311111降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置0121921281281标准核内流水219280allocateresident(整case全驻留S_A)00不涉及(每核一块无尾轮)1110000True2P=0.05<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)
14b16_m4_n256_k192ASW_Basic_降核Ascend950PRbatch_mat_mul_v311111降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置0142561921921标准核内流水425664allocateresident(整case全驻留S_A)00不涉及(每核一块无尾轮)1110000True2P=0.25<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢)
15b32_m8_n128_k256IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)1181282562561a_单batch全驻留8128128allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2单batch全驻留: (MK+KN)*dtype=68KB <= L1; 输出落点: L2驻留
16b64_m16_n256_k512IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)21162565122401c_一侧驻留+对侧切K1625664allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2一侧驻留(A)+对侧切K: A驻留16KB, 预算L1/2, k_L1=240, dValueA=480B/dValueB=512B; 输出落点: L2驻留
17b128_m8_n192_k256IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)4181922562562b_双batch乒乓819280allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2双batch乒乓: 2*(MK+KN)*dtype=200KB <= L1; 输出落点: L2驻留
18b32_m16_n8192_k7168ASW_BasicAscend950PRbatch_mat_mul_v33211471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A011100047True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=3591.0MB, V_out=8.0MB, L2=128MB); 尾轮: r=0 无尾轮
19b4_m1_n8192_k8192StreamKAscend950PRbatch_mat_mul_v33211132B/M/N切出4块, 每块32核切K归约 (归约组内核c负责K段[c*K/32,(c+1)*K/32))11181922562561K段标准分块流水112864allocate(部分和驻留L2)resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)04194304grid_K=32路切K+归约11320000True4P=0.50, grid_K=32, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终
20b16_m2_n4096_k7168StreamKAscend950PRbatch_mat_mul_v33211116B/M/N切出16块, 每块16核切K归约 (归约组内核c负责K段[c*K/16,(c+1)*K/16))11240964482561K段标准分块流水212864allocate(部分和驻留L2)resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)08388608grid_K=16路切K+归约11160000True4P=2.00, grid_K=16, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终
21b32_m64_n64_k7168IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)116464716810241d_两侧都切K6464256allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2两侧都切K: k_L1=1024, K段成对流水, batch边界天然无缝; dValueA=2048B/dValueB=128B; 输出落点: L2驻留
22b64_m1024_n1024_k7168IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)21102410247168641d_两侧都切K17617664allocate(GM->L1随路驻留L2)direct_gm(整case超L2: 输入优先驻留L2, 输出直写GM不占L2)00不涉及(核内不切M/N)1110000True2两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: 直写GM
23b128_m2048_n2048_k1536ASW_BasicAscend950PRbatch_mat_mul_v332112121B->M->N线性映射+ASW滑窗蛇形(W=4)0117617615362561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000576True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1536.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮
24b64_m1024_n8192_k2048ASW_BasicAscend950PRbatch_mat_mul_v33216471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617620482561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000564True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2304.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮
25b32_m1024_n1024_k512IterBatchAscend950PRbatch_mat_mul_v33232111切B轮转分配(核间零重复读零依赖)1110241024512641d_两侧都切K17617664allocate(GM->L1随路驻留L2)resident(整case输入+输出<=L2: 输出驻留L2异步回写, GM写=0)00不涉及(核内不切M/N)1110000True2两侧都切K: k_L1=64, K段成对流水, batch边界天然无缝; dValueA=128B/dValueB=2048B; 输出落点: L2驻留
26b128_m4096_n4096_k8192ASW_BasicAscend950PRbatch_mat_mul_v332124241B->M->N线性映射+ASW滑窗蛇形(W=4)0117617681922561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A01110002304True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16384.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮
27b32_m8192_n4096_k7168ASW_BasicAscend950PRbatch_mat_mul_v332147241B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A01110001128True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=5376.0MB, V_out=2048.0MB, L2=128MB); 尾轮: r=0 无尾轮
28b32_m2048_n2048_k8192ASW_BasicAscend950PRbatch_mat_mul_v332112121B->M->N线性映射+ASW滑窗蛇形(W=4)0117617681922561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000144True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2048.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮
29b64_m4096_n2048_k128ASW_BasicAscend950PRbatch_mat_mul_v332124121B->M->N线性映射+ASW滑窗蛇形(W=4)011761761281281双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000576True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=96.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮
30b16_m1024_n1024_k8192ASW_BasicAscend950PRbatch_mat_mul_v3321661B->M->N线性映射+ASW滑窗蛇形(W=4)0117617681922561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A011100018True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=512.0MB, V_out=32.0MB, L2=128MB); 尾轮: r=0 无尾轮
31b4_m32768_n128_k128ASW_BasicAscend950PRbatch_mat_mul_v332118711B->M->N线性映射+ASW滑窗蛇形(W=4)011761761281281双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)resident(整case全驻留S_A: 输出驻留L2异步回写, GM写=0)40方案B2051120511224True2L2场景: A_整case全驻留(输入+输出<=L2) (V_in=32.1MB, V_out=32.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=28.96us), 选方案B工程简洁 (一套tile)
32b8_m32768_n2048_k512ASW_BasicAscend950PRbatch_mat_mul_v3321187121B->M->N线性映射+ASW滑窗蛇形(W=4)011761765122561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000561True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=272.0MB, V_out=1024.0MB, L2=128MB); 尾轮: r=0 无尾轮
33b4_m131072_n128_k128ASW_BasicAscend950PRbatch_mat_mul_v332174511B->M->N线性映射+ASW滑窗蛇形(W=4)011761761281281双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40方案B820118201494True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=128.1MB, V_out=128.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=115.39us), 选方案B工程简洁 (一套tile)
34b8_m131072_n1024_k256ASW_BasicAscend950PRbatch_mat_mul_v332174561B->M->N线性映射+ASW滑窗蛇形(W=4)011761762562561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40方案B820718207161118True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=516.0MB, V_out=2048.0MB, L2=128MB); 尾轮: 面积型主导, A1b与方案B严格打平(T=1384.63us), 选方案B工程简洁 (一套tile)
35b16_m32768_n8192_k7168ASW_BasicAscend950PRbatch_mat_mul_v3321187471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40方案B20552120552164395True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=8960.0MB, V_out=8192.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.50<rho_dv=0.53, A1b被dValue卡死, 方案B反超
36b4_m32768_n128_k8192ASW_BasicAscend950PRbatch_mat_mul_v332118711B->M->N线性映射+ASW滑窗蛇形(W=4)0117617681922561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40方案B2051120511224True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=2056.0MB, V_out=32.0MB, L2=128MB); 尾轮: 周长型主导, rho=0.38<rho_dv=0.53, A1b被dValue卡死, 方案B反超
37b32_m131072_n8192_k128ASW_BasicAscend950PRbatch_mat_mul_v3321745471B->M->N线性映射+ASW滑窗蛇形(W=4)011761761281281双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A011100035015True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=1088.0MB, V_out=65536.0MB, L2=128MB); 尾轮: r=0 无尾轮
38b64_m32768_n8192_k1536ASW_BasicAscend950PRbatch_mat_mul_v3321187471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617615362561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A011100017578True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7680.0MB, V_out=32768.0MB, L2=128MB); 尾轮: r=0 无尾轮
39b8_m131072_n8192_k8192ASW_BasicAscend950PRbatch_mat_mul_v3321745471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617681922561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A1b22122248754True2L2场景: 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倍凑满核)
40b8_m16_n7168_k1536StreamKAscend950PRbatch_mat_mul_v3321122B/M/N切出16块, 每块2核切K归约 (归约组内核c负责K段[c*K/2,(c+1)*K/2))111635847682561K段标准分块流水1612864allocate(部分和驻留L2)resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换)03670016grid_K=2路切K+归约1120000True4P=14.00, grid_K=2, 部分和驻留L2按4B写出, AIV归约后按C dtype=2B写最终
41b64_m1024_n7168_k7168ASW_BasicAscend950PRbatch_mat_mul_v33216411B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000492True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=896.0MB, L2=128MB); 尾轮: r=0 无尾轮
42b32_m8192_n8192_k7168ASW_BasicAscend950PRbatch_mat_mul_v332147471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A01110002209True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=7168.0MB, V_out=4096.0MB, L2=128MB); 尾轮: r=0 无尾轮
43b8_m4096_n4096_k128ASW_BasicAscend950PRbatch_mat_mul_v332124241B->M->N线性映射+ASW滑窗蛇形(W=4)011761761281281双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A0111000144True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=16.0MB, V_out=256.0MB, L2=128MB); 尾轮: r=0 无尾轮
44b128_m8192_n8192_k7168ASW_BasicAscend950PRbatch_mat_mul_v332147471B->M->N线性映射+ASW滑窗蛇形(W=4)0117617671682561双缓冲驻留当前tile输入17617680allocate(输入驻留L2吸收重复读)direct_gm(输出直写GM, 输入优先驻留L2)40A01110008836True2L2场景: B_单batch可驻留(全驻留或单侧驻留+对侧滑窗) (V_in=28672.0MB, V_out=16384.0MB, L2=128MB); 尾轮: r=0 无尾轮
45special_k1_b64特殊分支Ascend950PRbatch_mat_mul_v3641111AIV 核间按行均分 (无 Cube tile 概念)0100101UB驻留(AIV) AIV单缓冲000allocatedirect_gm00不涉及(AIV逐元素)1110000False2K=1逐元素乘: 退化为 C=A⊙B 无累加深度, Cube 16x16x16 粒度浪费 15/16; 走 AIV 通路 GM->UB->Mul->GM, AIV单缓冲 (B<2*AIV 逐batch单缓冲串行)