SuperAPI AI 工具集

external-gitcode-ascend-catlass-operator-performance-optim

通用与其它

查看项目

更新于 10-15 17:19

技能介绍

用途:指导 Catlass 算子的性能调优工作流,从阅读优化指南、获取基准、修改 tiling 到重新编译、采集数据和输出性能对比报告。

前置条件:需存在 OPS_PROJECT_ROOT,其下有 catlass/docs/1_Practice/10_matmul_optimization.md;算子已可编译运行;基线优先采用 csrc/ops/<op>/test/ 下按 ascendc-operator-performance-eval 规范采样的 profiler 报告。条件不明时追问用户。

主要流程:阅读优化指南,理解 TileShape、DispatchPolicy、Swizzle 等可调参数;取得基准数据;按指南建议修改 tiling 配置;用 ascendc-operator-compile-debug 重新编译并采集性能数据,与基线对比。性能提升则记录配置并继续尝试,下降则回滚,稳定则在附近微调,迭代确定最佳配置。

能力要点:每次只调整一个变量便于评估效果;记录所有尝试的配置与性能数据;性能下降时回滚;维护 TILING_SEARCH.md 记录已验证无效或回退的配置与待试项;单目标 shape 探索另建 TILING_EXPLORATION_*.md 并追加行、不覆盖历史。

报告交付:在 NPU 与 torch_npu.profiler 可用时,每轮可提交优化须按约定(warmup=5、active=5,自定义与标杆双路径)落盘 Markdown 对比报告,含 Case/Shape/自定义 per-step/标杆 per-step/比值 等表,并在对话中展示表与结论;涉及优化前后变化时另落盘 PRE/POST 报告并生成含 Δ% 的对照表。环境不可用须如实说明,不伪造报告。

限制:调优策略以 catlass 官方文档为准;禁止未读指南随意改参数、一次改多个变量、忽略硬件资源限制、改后不重新编译、可用时仅改代码不产出报告;探测用极简 kernel 须恢复生产版,不得作为最终交付。单 shape 表仅记录检索过程,不替代全量回归。