ascend-ai-coding/awesome-ascend-skills/atb-aclnn-operator-replacement-designer
Claude Code and agent skill by ascend-ai-coding/awesome-ascend-skills
- community
Checking that the SKILL.md file is still in the repository.
'自动生成 ATB 到 ACLNN 算子替换的详细设计文档。接收用户提供的 ATB 和 ACLNN 接口文档链接, 输出包含参数映射、开发自测、风险评估的
Install
npx vskill@latest install ascend-ai-coding/awesome-ascend-skills/atb-aclnn-operator-replacement-designerSKILL.md
ATB到ACLNN算子替换详设文档生成器
功能概述
该工具能够根据用户提供的ATB和ACLNN接口文档链接,自动生成完整的算子替换详细设计文档。支持多种算子类型,提供标准化的文档结构和内容。
调用时机
在以下情况下调用此技能:
- 用户需要将 ATB 算子替换为 ACLNN 算子并撰写设计文档
- 用户已有 ATB 算子接口和 ACLNN 接口文档链接
- 变更涉及 LayerNorm、Softmax、RmsNorm 等标准算子
规模检测与分级
调用此技能时,必须首先执行规模检测,确定使用完整模板还是轻量模板。
检测步骤
分级标准
| 场景 | 判断条件 | 模板等级 | 说明 | |
|---|---|---|---|---|
| 已有 Runner 接入 | *_aclnn_runner.cpp 已存在且已注册 REG_RUNNER_TYPE | 轻量模板 (4 节) | 仅需参数映射 + 约束 + 风险 | |
| 全新迁移 | *_aclnn_runner.cpp 不存在 | 完整模板 (7 章) | 需要完整设计文档 |
向用户报告检测结果的标���话术
轻量模板(已有 Runner 模式)
当 ACLNN Runner 已存在时(如仅需修改 Operation 的 CreateRunner 以挂载已有 runner),生成以下精简文档:
轻量模板生成规则:
- 仅保留 4 节:文档信息 + 需求简述 + 参数映射 + 约束 + 风险
- 跳过完整版的需求详情、规格说明(DFX)、开发自测、实现方案、结论章节
- 文档仍保存至
{WORKING_DIR}/{op_type}_replacement_design.md,标注为轻量版
轻量版确认检查表
轻量版使用精简的 3 项确认表:
⚠️ 路径约束(必须执行)
执行此技能前,必须从用户处获取以下路径:
<CANN_PATH>: CANN 安装路径(如/usr/local/Ascend/ascend-toolkit/latest)<ATB_REPO_PATH>: ATB 仓库路径(如{your working path}ascend-transformer-boost)
若用户未提供或路径无效,立即停止并报错。
脚本校验示例:
前置条件
- ATB 算子接口文档链接(用户需提供)
- ACLNN 算子接口文档链接(用户需提供)
- (可选)算子类型名称(如 LayerNorm)
WebFetch 失败阻断规则 ⛔
⚠️ 强制规则 — 不可通过代码反推绕过
WebFetch 是获取接口文档的途径。以下规则覆盖所有场景:
| 场景 | 行为 | |
|---|---|---|
| WebFetch 两个 URL 均成功 | 继续分析 | |
| WebFetch 任一 URL 失败 | 立即停止,打断用户 | |
| WebFetch 返回 404/403/超时 | 立即停止,打断用户 | |
| ACLNN Runner 已存在于代码仓 | 仍需文档成功 — 代码不能替代官方文档 |
打断用户的标准话术:
禁止行为:
- ❌ 从
*_aclnn_runner.cpp代码反推接口参数 - ❌ 从
infer_op_params.h结构体推断 ACLNN 约束 - ❌ 以「代码仓已有实现」为由跳过文档获取
工作流程总览
检查点系统:每个阶段完成后,请对照 执行结果 章节的检查点表确认状态。
输入要求
用户需要提供以下信息:
- ATB算子接口文档链接
- ACLNN算子接口文档链接
- 可选:算子类型(如LayerNorm、Softmax、RmsNorm等)
核心功能
自动分析接口文档
- 解析ATB算子的参数结构
- 解析ACLNN算子的接口定义
- 提取关键参数和约束条件
生成标准化文档结构
- 需求详情
- 算子IR与参数配置
- 规格说明(DFX、规格约束、功能冲突)
- 开发自测(功能测试、反例测试、性能测试)
- 实现方案
- 风险评估与应对策略
- 结论
智能参数映射
- 自动建立ATB与ACLNN参数之间的映射关系
- 识别参数差异和转换规则
- 处理特殊参数的适配逻辑
<details> <summary>详细工作流程(点击展开)</summary>
阶段1: 接口文档分析
ATB算子分析
- 从ATB接口文档中提取算子参数结构
- 识别核心参数(如epsilon、axis、quantType等)
- 确定参数约束条件
ACLNN算子分析
- 从ACLNN接口文档中提取接口定义
- 识别输入输出参数
- 确定接口调用方式
阶段2: 参数映射建立
| 映射类型 | 处理方式 | |
|---|---|---|
| 直接映射 | 参数名和含义完全一致,直接映射 | |
| 计算映射 | 根据公式或规则进行转换(如beginNormAxis → normalizedShape) | |
| 废弃参数 | 识别不再需要的参数并说明 | |
| 新增参数 | 识别新增参数并说明默认值或计算方式 |
阶段3: 文档内容生成
需求详情
算子IR与参数配置
struct {OpType}Param { // 从文档中提取的参数结构 };
// 从文档中提取的ACLNN接口
</details>
参考实现
softmax_aclnn_runner 参考
softmax_aclnn_runner是一个已实现的ACLNN runner示例,可作为参考。详细实现请参考 references/softmax_aclnn_runner_reference.md 文件,其中包含完整的头文件和源文件实现。
实现模式
所有ACLNN runner实现应遵循以下模式:
- 继承自AclnnRunner基类
- 实现核心方法:
BuildAclnnVariantPack:构建ACLNN变体包,处理输入输出张量SetAclNNWorkspaceExecutor:设置ACLNN工作空间和执行器LaunchAclnnKernel:启动ACLNN内核执行计算LoadMethod:加载ACLNN函数指针
- 注册Runner类型:使用
REG_RUNNER_TYPE宏注册Runner
代码结构
其中 {op_type} 为算子类型,如 softmax、layernorm 等。
最佳实践
- 接口文档分析:仔细阅读ATB和ACLNN接口文档,确保准确理解参数含义和约束条件
- 参数映射:建立清晰的参数映射关系,特别注意计算映射和特殊参数的处理
- 测试用例设计:设计全面的测试用例,覆盖正常、异常和性能场景
- 风险评估:充分考虑可能的风险并制定应对策略
- 代码结构:遵循现有ACLNN runner的实现模式,保持代码一致性
- working_files 集成:设计文档必须保存至
working_files目录,便于用户确认和后续追溯
Human in the Loop: 用户确认检查点 ⭐
⚠️ 强制检查点 - 不可跳过
设计文档生成完成后,必须等待用户确认后方可进入下一阶段。
确认前准备
- 保存文档: 将生成的设计文档保存至
working_files目录
- 文件路径:
{WORKING_DIR}/{op_type}_replacement_design.md - 变量说明:
WORKING_DIR: 由用户指定的 working_files 目录op_type: 算子类型小写(如swigluquant,layernorm)
- 准备确认清单: 供用户逐项确认
用户确认检查表
向用户呈现方式
工具集成
该skill可以与以下工具配合使用:
WebFetch:自动获取和解析接口文档内容Read:读取现有代码文件以了解实现模式Write:生成设计文档并保存至 working_filesEdit:根据需要调整文档内容
通过使用该skill,用户可以快速生成高质量的ATB到ACLNN算子替换设计文档,提高开发效率和文档质量。
执行结果
⚠️ 执行后填写:技能执行完成后,参照下方格式填写实际执行结果。
检查点检查表
| 步骤 | 检查点描述 | 状态 | |
|---|---|---|---|
| - | ATB 接口 URL 已提供 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| - | ACLNN 接口 URL 已提供 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 1 | ATB 算子参数已提取 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 1 | ACLNN 接口参数已提取 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 2 | 参数映射表已创建 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 2 | 至少一个计算映射已定义 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 3 | 设计文档 7 个章节完整 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 3 | 风险评估表存在 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 4 | AclnnRunner 子类模式已记录 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| 4 | 实现代码结构已定义 | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| HIL | 设计文档已保存至 working_files | ✅ PASS / ❌ FAIL / ⏭️ SKIP | |
| HIL | 用户已确认设计文档 ⭐ | ⬜ 待确认 |
VERDICT: ✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILED / ⏭️ SKIPPED
问题列表(若有)
| 等级 | 检查点 | 问题描述 | 建议 | |
|---|---|---|---|---|
| 🔴 CRITICAL | - | - | - | |
| 🟡 WARNING | - | - | - |
执行摘要
- 执行时间:
- 算子类型:
- ATB 接口链接:
- ACLNN 接口链接:
- 通过率:
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingexternal/gitcode-ascend/atb-aclnn-operator-replacement-designer/SKILL.md
Popularity
- Repository stars
- 161
- Repository forks
- 55
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 Aug 2026, 2 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ascend-ai-coding/awesome-ascend-skills/atb-aclnn-operator-replacement-designer)