Open
[Knowledge-Request|知识需求]: Ascend C 指令理论性能折算与接口边界值验收(来源 asc-devkit appendix) #70
flyingXLBAdd on  10 days ago
flyingXLB
flyingXLB
10 days ago Create

Scenario / 使用场景

用 asc-devkit 仓 docs/zh/api/appendix/** 的官方汇总材料,为 cannbot-knowledge 补齐两类当前缺失的可复用结论:

  1. 指令理论性能的折算口径:做算子性能分析时,需要先判断"理论算力还能不能拿到"——是分形/对齐造成的结构性浪费,还是搬运/同步造成的实际退化。知识库现有卡片多为实测经验(如 profiling 方法论、具体优化手法),缺少"给定 shape 与 dtype,按官方口径折算理论利用率并判定瓶颈归属"的入口。
  2. 接口边界值输入的验收方法:MMAD / MMAD_MX 在边界输入下的行为与矢量/掩码/原子接口不同,且加法阶段的 NaN/±Inf 规则在 MMAD 与 MMAD_MX 之间相反;目前知识库只有上游边值汇总的镜像卡(数据表),缺少"如何构造边界用例、期望值怎么取、失败如何判定是实现问题还是输入越界"的验收流程。

Domain / 所属领域

ops / 算子开发

Technology or scope / 技术或作用域

Ascend C

Query attempt / 已尝试的检索

  • 理论性能 峰值 利用率 折算(platform 950)→ 命中 optimizations/bench_methodology_profiling_first、ol_245 等实测/方法论卡,无"理论口径"卡;optimizations/ 下标题含"理论"的卡 0 张。
  • 边界值 输入 验收(platform 950)→ 仅命中镜像卡 apis/appendix/*_boundary_value_summary.md(7 张上游数据表)与个别相邻卡(validations/aclnn_st_masks_execute_error_code_probe、validations/whitebox_semantic_boundaries_dtype_gap),无边界值验收流程卡。
  • MMAD 边界值 NaN inf → 只有 operators/** 的实现侧描述与 apis/appendix/mmad_interface_boundary_value_summary,缺少"期望值取法与判定顺序"。

Expected knowledge / 期望补充的知识

两个可独立评审的 PR:

  1. PR:SIMT 与 Cube 指令理论性能折算口径(2 张 Optimization)
    • simt_instruction_theoretical_perf:SIMT 理论并行度口径、占用率与发散/访存合并对理论值的折损、据此决定继续调 SIMT 还是换实现路径。
    • cube_instruction_theoretical_perf:Cube 利用率公式的两个损失项(分形对齐膨胀、头开销 Δt)与峰值可达性判定,明确搬运/带宽/L0 容量不在公式内。
  2. PR:MMAD 与矢量/掩码接口边界值输入验收(2 张 Runbook,落 runbooks/validations/)
    • mmad_boundary_value_input_acceptance:MMAD 与 MMAD_MX 的边界行为对照(加法阶段规则相反)、期望值取法、用例构造与失败判定。
    • vector_interface_boundary_value_acceptance:Memory/Reg 矢量 + 原子 + 掩码接口的边界口径(掩码全 0/全 1、元素数与位掩码的区分、尾块的官方处置是 Counter 模式),以及"已知值小数组 → 真实 shape"的验收顺序。

验收场景:给定"CANN 9.2.0、3510 架构,某 Cube 算子 m=n=8"的问题,应能命中 Cube 理论性能卡并据公式判定"对齐膨胀是主因、先改切分而非继续调 Cube";给定"MMAD 输入 +inf 与 −inf 相加"的问题,应能命中 MMAD 边界验收卡并从对照表确认期望是 NaN(而 MMAD_MX 是 −inf),且明确该结论不能由 IEEE 754 反推。

Candidate sources / 候选来源

docs/zh/api/appendix/ 下的官方汇总(对应已登记本地归档来源根 cann-docs-raw/asc-devkit/docs/zh/):SIMT_instruction_theoretical_perf_summary.md、cube_instruction_theoretical_perf_summary.md、mmad_interface_boundary_value_summary.md、mmad_mx_interface_boundary_value_summary.md、memory_vector_compute_interface_boundary_value_summary.md、reg_vector_compute_interface_boundary_value_summary.md、atomic_operations_interface_boundary_value_summary.md、Mask_interface_summary.md。

Checklists / 提交确认

likedislike
flyingXLBflyingXLB
10 days ago Associated pull request
flyingXLBflyingXLB
10 days ago Associated pull request
BbianqueCollaborators
10 days ago Associated pull request
BbianqueCollaborators
10 days ago Associated pull request
hututu1226hututu1226
4 days ago Associated pull request