SuperAPI AI 工具集

external-gitcode-ascend-ascendc-operator-dev

编程与开发

查看项目

更新于 10-15 17:19

技能介绍

用途:编排 AscendC 算子从零到生产可用的完整开发流程,关键词包括算子开发、operator development、端到端、工作流编排、新建算子。

主要能力:采用流程导向的七阶段串行工作流,每个阶段必须调用对应子 Skill,不自行实现。子 Skill 包括 ascendc-operator-project-init(工程初始化与骨架目录)、ascendc-operator-design(设计文档,含 Tiling 策略与 UB 分配表)、ascendc-operator-testcase-gen(统一测试用例文档)、ascendc-operator-code-gen(生成 op_host/op_kernel 代码、框架适配、编译测试,内部调用 ascendc-operator-compile-debug)、ascendc-operator-doc-gen(PyTorch 风格中文 API 文档)、ascendc-operator-precision-eval(≥30 例精度评估)、ascendc-operator-performance-eval(msprof 性能对比评测)。

使用方式:先完成 Phase 0 需求收集,确认 CANN 环境(检测 ASCEND_HOME_PATH,必要时询问路径,激活命令为 source ${CANN_PATH}/*/set_env.sh)与 Conda 环境(检测 CONDA_DEFAULT_ENV,激活命令为 conda activate <env_name>),并确认算子名称(snake_case)和功能描述。随后按阶段推进,每阶段检查点全部通过才进入下一阶段。代码生成阶段通过 ./build.sh 编译、pip install whl 安装并运行测试,编译或测试失败最多排错 3 次。

适用场景:开发新算子、实现自定义算子、续做中断的算子开发任务;用户说“继续算子开发”时可按已有文件判断阶段并从中断处恢复。

限制与注意事项:不得跳过设计、用例生成、接口文档、精度评估、性能评测等阶段;不得在代码生成前修改框架文件(ops.h / register.cpp / CMakeLists.txt);不得使用非 msprof 计时方式作为性能结论;精度与性能用例必须复用 testcase-gen 生成的用例文档。具体硬件支持与性能数据以实际环境为准。