SuperAPI AI 工具集

ascendc-operator-project-init

通用与其它

查看项目

更新于 10-15 20:05

技能介绍

用途:快速创建 Ascend-Kernel 算子工程,所有算子统一生成在 csrc/ops 目录下,保证后续可直接进入设计、编码、编译测试阶段。

主要能力:检测当前目录或子目录是否已有 ascend-kernel 项目;不存在时复制模板并 chmod +x build.sh;创建 csrc/ops/<op_name>/op_host 与 op_kernel 骨架,生成 CMakeLists.txt、design.md 及 host/kernel 占位文件;检查目标路径避免覆盖;输出目录结构与下一步指引。

使用方式:先运行 bash <skill_dir>/scripts/detect_ascend_kernel_project.sh 检测项目,按结果使用现有项目或执行 cp -r "<skill_dir>/templates/ascend-kernel" ./ascend-kernel 并 chmod +x ./ascend-kernel/build.sh。收集算子名称(snake_case)并确认后,创建目录 mkdir -p csrc/ops/<op_name>/op_host csrc/ops/<op_name>/op_kernel。

限制与注意:算子名只能含字母、数字、下划线;不得覆盖已有目录;不得跳过目录存在性检查;必须同时创建 op_host 与 op_kernel;需手动更新 csrc/ops.h、csrc/register.cpp、csrc/CMakeLists.txt 三处注册点;EXEC_KERNEL_CMD 参数须为左值;新算子须走 AscendC 路径,禁止 ACLNN 实现路径;若模板存在同名 ACLNN 封装需移除。测试基线建议以 PyTorch 参考实现为准,CPU 不支持的 dtype 需转 float32 对比。具体构建、安装、测试命令资料未提供。