3.0 KiB
3.0 KiB
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | x | 51 | 51 | 255 | 42 | 682 | fp32 | fp32 | fp32 | False | False | False | True | 0 | x | StreamK | Ascend950PR | batch_mat_mul_v3 | 32 | 1 | 1 | 1 | 3 | B/M/N切出51块, 每块3核切K归约 (归约组内核c负责K段[c*K/3,(c+1)*K/3)) | 1 | 1 | 255 | 42 | 228 | 128 | 1 | K段标准分块流水 | 128 | 42 | 64 | allocate(部分和驻留L2) | resident(部分和4B驻留L2, 防精度丢失不随C的fp16/fp8转换) | 0 | 6554520 | grid_K=3路切K+归约 | 1 | 1 | 3 | 0 | 0 | 0 | 0 | True | 4 | P=8.33, grid_K=3, 部分和驻留L2按4B写出, AIV归约后按C dtype=4B写最终 | 465578.6666666667 | 0.0 | 9.311573333333333e-06 | 0.0 | 9.311573333333333e-06 | 0.0 | 0.0 | 29797034.666666668 | 1.9619446694101507e-06 | 262144 | 1.6131938461538462e-06 | 3.674316083916084e-07 | 9.311573333333333e-06 | 3.674316083916084e-07 | 9.679004941724942e-06 | MTE2_GM | True | 访存Bound(GM) | 切B分支条件不满足, 落 StreamK | |
| 3 | y | 2 | 2 | 64 | 16 | 32 | fp16 | fp16 | fp16 | False | False | False | True | 0 | y | ASW_Basic_降核 | Ascend950PR | batch_mat_mul_v3 | 1 | 1 | 1 | 1 | 1 | 降核: 只用1核, 每核一个L0C满载输出块, 其余核闲置 | 0 | 1 | 64 | 16 | 32 | 32 | 1 | 标准核内流水 | 64 | 16 | 32 | allocate | direct_gm | 0 | 0 | 不涉及(每核一块无尾轮) | 1 | 1 | 1 | 0 | 0 | 0 | 0 | True | 2 | P=0.03<C, 降核是理性选择 (强切则 tile 跌破搬移效率下限反而更慢) | 10240.0 | 0.0 | 2.048e-07 | 0.0 | 2.048e-07 | 0.0 | 0.0 | 131072.0 | 8.630255144032922e-09 | 4096 | 8.192e-08 | 0.0 | 2.048e-07 | 0.0 | 2.048e-07 | MTE2_GM | True | 访存Bound(GM) | ASW_Basic兜底 (StreamK未过: 2_单核K段下限: K/grid_K >= 256B/dtype 且 grid_K>=2; 3_归约代价可接受: K > grid_K^2/(grid_K-1)*theta_c) [自检违规: dValue=64B < 下限 128B, K 段连续维搬移效率崩塌] —— 方案生成存在缺陷, 需人工复核 | |
| 4 | z | 256 | 256 | 128 | 1024 | 8 | bf16 | bf16 | bf16 | False | False | False | True | 0 | z | IterBatch | Ascend950PR | batch_mat_mul_v3 | 32 | 32 | 1 | 1 | 1 | 切B轮转分配(核间零重复读零依赖) | 8 | 1 | 128 | 1024 | 8 | 8 | 2 | b_双batch乒乓 | 128 | 256 | 16 | allocate(GM->L1随路驻留L2) | direct_gm(输出仅写一次,直写GM不占L2) | 0 | 0 | 不涉及(核内不切M/N) | 1 | 1 | 1 | 0 | 0 | 0 | 0 | True | 2 | 双batch乒乓: 2*(MK+KN)*dtype=36KB <= L1 | 147456 | 0.0 | 2.94912e-06 | 0.0 | 3.34912e-06 | 8 | 4.0000000000000003e-07 | 16777216.0 | 1.104672658436214e-06 | 2097152 | 4.194304e-05 | 0.0 | 4.194304e-05 | 5.380964082304527e-06 | 4.7324004082304525e-05 | FIXPIPE | True | 写出Bound | 仅 IterBatch 条件满足 |