写过融合算子的开发者大概都遇到过这样的时刻:一个 shape 刚跑通,换成其他规格,精度验证又失败了;减少一次数据搬运,实测性能反而下降;单融合 kernel 性能验证结果符合预期,但接入整模型后,融合算子性能收益被调度及同步开销抵消。
融合算子的开发需要同时处理数学语义、内存布局、低精度误差、多核同步与硬件资源约束。分块大小调整后,片上空间可能不足;计算顺序改变后,误差可能累积。开发者还需要维护 Golden、测试用例与性能基线,反复确认每次修改解决了什么问题、又影响了哪些规格。

融合算子的数学语义、内存布局、低精度、多核同步、资源与真实调用性能相互影响
CANNBot 的 PyPTO Tensor Agent 与 PyPTO Pro Agent 把这些工作组织成可持续推进、检查与复验的开发流程。
开发者可以从同一段需求开始:
请编写并优化 softmax 算子,输入 float16,shape=4, 2048,沿最后一维计算。准备独立的 Golden,在目标 NPU 上验证精度;基线与性能目标,完成调优与回归;保存源码、测试报告、生成耗时与 Token消耗。开始前先明确输入范围与验收标准。
选择 Tensor 或 Pro 后,进入对应 Agent 并说明开发路径即可。下图将 Agent 的开发流程概括为四个阶段,实际执行仍由各 Agent 的状态机驱动。

从同一段 Prompt 经两个 Agent 入口进入开发、验证和优化流程,产物保存到 custom/op
第一步是理解需求。Agent 梳理公式、接口、Shape、Dtype 以及精度与性能目标,并检查 API 可行性。 Tiling、广播规则与缓存写入等语义必须先对齐,否则即使代码编译通过,计算结果也可能与需求不符。
第二步是准备 Golden 与测试环境。参考实现要独立编写并通过自检,测试需覆盖边界输入,设备与依赖也需确认可用。设计与接口检查通过后,再进入编码。先确定验证标准与运行环境,后续结果才有可靠依据。
第三步是编写代码并测试。代码需要经过编译、上机运行与独立的精度对照,发现问题就定位、修复并重新验证。Agent 把设计审查、实现与验证内循环、最终验收分为不同职责;最终交付的结果必须符合预期的精度标准。
第四步是性能优化。Agent 根据实测结果定位瓶颈,尝试分块、并行、复用与流水调整,并在固定条件下比较候选方案。有效改动予以采纳,出现负收益则回退。Agent 还能在初始需求中指定使能基于 LLM 的自动优化算法 PANKO,由其联合搜索程序结构与分块参数,进一步优化性能。
在使用 CANNBot PyPTO Pro Agent 开发的实战中,grouped_matmul_activation_quant 通过了所有用例的精度验证。Profiling的性能测试结果,五个用例加速比为 1.82--2.38 倍。

分组矩阵乘、激活与量化融合算子的精度结果及五个用例性能加速比
任务结束后,开发者可以从 custom/op 取得源码、Golden、测试报告、规格设计与优化点,并核对实际交付入口。生成耗时与 Token 消耗也随任务一起落盘记录,并注明等待、并行、缓存读取等统计范围,以便评估投入、规划下一轮优化。
仓库地址:pypto-gym:基于 PyPTO 框架的昇腾AI处理器算子开发样例项目 - AtomGit。
准备好匹配的昇腾 NPU、CANN、PyPTO 或 PyPTO Pro 环境并安装 OpenCode 后,先获取仓库:
git clone https://atomgit.com/cann/pypto-gym.git
根据开发路线选择其中一个入口。两组命令都在克隆仓库的父目录下执行。
PyPTO Tensor Agent 入口:cannbot-skills/plugins-official/pypto-op-orchestrator。
cd pypto-gym/cannbot-skills/plugins-official/pypto-op-orchestrator
bash init.sh project opencode
opencode
启动后输入"使用 PyPTO Tensor 开发并优化 softmax",再补上前文的输入规格、精度与性能要求。
PyPTO Pro Agent 入口:cannbot-skills/plugins-official/pypto-pro-op-orchestrator。
cd pypto-gym/cannbot-skills/plugins-official/pypto-pro-op-orchestrator
bash init.sh project opencode
opencode
启动后输入"使用 PyPTO Pro 开发并优化 softmax",并附上算子规格。
两个入口都提供 quickstart.md。先核对环境与启动要求,再从一个熟悉的小规格开始,依次完成生成、验证、调优与结果归档。
总结
融合算子的难点不在单个环节,而在数学语义、内存布局、低精度误差、多核同步与性能开销彼此牵制,改一处往往牵动另一处。CANNBot 的 PyPTO Tensor Agent 与 PyPTO Pro Agent 把这些环节收进同一条可推进、可检查、可复验的流程:先对齐需求与验收判据,再准备独立的 Golden 与测试环境,之后才进入编码、测试与调优。无论从哪个入口进入,最终交付都按同一套标准验收,源码、Golden、测试与优化点可以逐项核查。
若想了解更多 CANNBot PyPTO 算子编程智能体硬核技术及复杂融合算子开发实操,欢迎报名活动
主题:CANN 开发者 Meetup PyPTO 算子编程专场
时间:2026年10月24日(周六) 14:00-18:00
地点:上海市杨浦区创智天地广场7号楼一楼会议室