用途:指导 Catlass 算子性能调优,按「阅读优化指南→获取基准数据→修改 Tiling→重新编译→profiler 采集→输出对比报告→迭代」的流程进行,调优策略以 catlass 文档为准,条件不明时需追问用户。
前置条件:需存在 OPS_PROJECT_ROOT,且其下有 catlass/docs/1_Practice/10_matmul_optimization.md;算子已可编译、可运行;性能基线优先取自 csrc/ops/<op>/test/ 下按 ascendc-operator-performance-eval 规范采集的 <op>_torch_npu_profiler_report.md 等报告,ascendc-operator-precision-eval 仅作精度不作性能基线。
主要能力与要求:可调参数包括 TileShape(L1/L0)、DispatchPolicy、Swizzle;每次修改仅调整一个变量,记录所有尝试的配置与性能数据;性能下降则回滚;改代码后用 ascendc-operator-compile-debug 重新编译;在 NPU 与 profiler 可用时,完成优化后按约定(warmup=5、active=5,自定义算子与标杆双路径均在 NPU 采集)落盘 Markdown 对比报告,并在对话中展示对比表主体或目标 shape 行、报告与 JSONL 完整路径及 1~3 句结论;若需「优化前/后」结论,须额外产出 PRE/POST 两份 profiler 报告并合并含 Δ% 的对照表,不得只挑变快 case。环境不可用时须如实说明并给出建议采集命令,不伪造报告。
适用场景:Catlass 算子 tiling 性能调优与迭代;单目标大 shape 的 tiling 探索,可维护 TILING_EXPLORATION_<brief>.md 与 TILING_SEARCH.md,探测用极简 kernel 须在任务结束前恢复生产版并重新编译。
限制:需 NPU 与 torch_npu.profiler 环境;严禁未读指南随意改参数、一次改多变量、改后不重编译;详细指令与规范以 catlass 优化指南及配套技能为准。