用途:根据已就绪的设计文档(ascend-kernel/csrc/ops/<op_name>/design.md)生成 AscendC 算子的完整代码实现,并完成 PyTorch 框架适配与编译测试。
主要能力:读取设计文档提取函数签名、数据类型、算子类型、UB 分配表与计算伪代码;按算子类型选择模板(elementwise、row、index、index-per-elem、sort、pool)生成 op_host 与 op_kernel 代码;完成框架适配(更新 csrc/ops.h、csrc/register.cpp、csrc/CMakeLists.txt);调用 ascendc-operator-compile-debug 技能执行编译、安装与测试。
使用方式:先加载 references/GUIDE.md 与对应 reference 文件,再读取设计文档,复制模板到目标路径并替换占位符,按设计文档修改函数签名、校验、bufferCoefficient、EXEC_KERNEL_CMD 参数、InitBuffer 大小与 Compute 逻辑。编译流程为 source CANN 环境、chmod +x build.sh、bash build.sh、pip install output/ascend_kernel*.whl --force-reinstall --no-deps,再运行 python tests/test_<op_name>.py 与 pytest tests/test_<op_name>.py -v。
限制与注意:FP16/BF16 必须升精度到 FP32 计算;GM↔UB 搬运必须用 DataCopyPad;EXEC_KERNEL_CMD 参数须为左值;kernel 中不得使用 bool 参数与标准库数学函数;不得硬编码核数或 UB 大小;不得修改 cmake/ 或 csrc/utils/ 下文件;编译或测试失败最多排错 3 次,精度问题按 ascendc-operator-precision-debug 流程排查。具体模板内容与平台细节以资料为准,未提供的信息暂未说明。