用途:在开发、审查或优化 Ascend C kernel 算子时使用,针对昇腾/NPU 算子性能问题进行排查与优化,形成“排查 → 修改 → 验证”闭环。触发关键词包括 Ascend C 性能优化、算子优化、tiling、流水、搬运、内存优化、NPU/昇腾等。
流程:Phase 1 排查,先读算子设计文档与 op_host、op_kernel 源码,按 tiling、搬运、API 使用、内存、流水五阶段逐项审查并输出排查报告,优化点按预期收益排序;Phase 2 保存性能基线;Phase 3 加载 code-gen 知识后修改代码并编译安装;Phase 4 调用精度评估流程验证功能正确;Phase 5 用相同用例做优化前后与标杆的性能对比;Phase 6 未提升则迭代,最多 3 轮。
主要能力:多核切分、L2Cache 切分与核间负载均衡检查;DataCopy 搬运量与对齐、stride 参数检查;TPipe 创建位置、TQueBind、Counter 模式、Matmul AtomicAdd、归约指令组合等 API 用法检查;UB Buffer 融合、L0C 累加、L1/BT/FP Buffer 使用等内存检查;三级流水与 Double Buffer、异步 Iterate 等流水检查。
必要用法:修改前须加载相应 reference 文件,不得修改 cmake/ 与 csrc/utils/ 下文件,禁止硬编码核数或 UB 大小;编译安装命令为 source ${ASCEND_HOME_PATH}/set_env.sh、cd task/ascend-kernel、bash build.sh、pip install output/ascend_kernel*.whl --force-reinstall --no-deps。
输出与限制:需在对话中展示排查总结、性能对比、迭代历史与至少三条结论,不能只给文件路径;产物包括 _perf_cases.jsonl、_baseline_report.md、profiler 报告、精度报告和 _optim_summary.md。资料中未提供具体收费标准、支持版本范围等信息。