SuperAPI AI 工具集

ascendc-operator-dev

编程与开发

查看项目

更新于 10-16 05:00

技能介绍

用途:编排 AscendC(ascend-kernel)算子从零到生产可用的完整开发流程,面向需要开发新算子、实现自定义算子的场景。

主要能力:以七阶段串行工作流组织,每阶段必须调用对应子技能,前一阶段检查点全部通过后才进入下一阶段。阶段依次为:工程初始化(ascendc-operator-project-init)、设计文档(ascendc-operator-design,含 Tiling 策略与 UB 分配表)、用例生成(ascendc-operator-testcase-gen)、代码生成与编译测试(ascendc-operator-code-gen,内部调用 ascendc-operator-compile-debug)、接口文档(ascendc-operator-doc-gen)、精度评估(ascendc-operator-precision-eval)、性能评测(ascendc-operator-performance-eval)。

使用方式:先完成 Phase 0 需求收集,确认 CANN 环境(检测 ASCEND_HOME_PATH,未设置则询问路径,激活命令 source ${CANN_PATH}/*/set_env.sh)与 Conda 环境(检测 CONDA_DEFAULT_ENV,激活命令 conda activate <env_name>),并确认算子名称(snake_case)与功能描述。随后按阶段执行,代码生成阶段会更新 ops.h、register.cpp、CMakeLists.txt,并通过 ./build.sh 编译、pip install whl 安装、运行 pytest 测试。

适用场景:新建算子、自定义算子开发、需要从需求到测试的完整流程编排。

限制:必须严格串行、不得跳过设计、用例生成、接口文档、精度评估、性能评测等阶段;不得自行实现算子代码或手动执行编译测试;精度评估需 ≥30 例,性能评测须使用 msprof 且按 OP Type 筛选;编译/测试失败最多排错 3 次。具体环境路径、平台与数据类型等以实际配置为准。