cann/cannbot-skills TileLang算子开发指南

发布时间:2026/6/12 6:46:52
cann/cannbot-skills TileLang算子开发指南 CANNBot TileLang 算子开发快速入门指南【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills概述CANNBot TileLang 算子开发模式适用于通过TileLang-Ascend框架开发自定义算子。基于 TVM 编译器基础设施使用 Python DSL tilelang.jit编写 AI 计算 kernel支持 Developer 模式自动化和 Expert 模式手动控制两种编程范式。一、环境搭建操作步骤方式一项目级安装推荐在项目目录下安装配置仅对当前项目生效。# 1. 克隆 CANN Skills 仓库 git clone https://gitcode.com/cann/cannbot-skills.git # 2. 进入 TileLang 算子开发目录 cd cannbot-skills/plugins-official/tilelang-op-orchestrator # 3. 执行初始化脚本项目级 bash init.sh project opencode # OpenCode 用户默认 bash init.sh project claude # Claude Code 用户 bash init.sh project trae # Trae 用户 bash init.sh project cursor # Cursor 用户 bash init.sh project copilot # Copilot 用户 # 4. 进入 TileLang-Ascend 源码仓库安装环境 cd tilelang-ascend bash install_ascend.sh cd ..方式二全局安装在用户目录下安装配置全局生效。# 1. 克隆 CANN Skills 仓库 git clone https://gitcode.com/cann/cannbot-skills.git # 2. 进入 TileLang 算子开发目录 cd cannbot-skills/plugins-official/tilelang-op-orchestrator # 3. 执行初始化脚本全局 bash init.sh global opencode # OpenCode 用户默认 bash init.sh global claude # Claude Code 用户 bash init.sh global trae # Trae 用户 bash init.sh global cursor # Cursor 用户 bash init.sh global copilot # Copilot 用户 # 4. 进入 TileLang-Ascend 源码仓库安装环境 cd tilelang-ascend bash install_ascend.sh cd ..安装内容init.sh 脚本会完成以下操作内容OpenCode 项目级OpenCode 全局Claude 项目级Claude 全局Trae 项目级Skills 技能模块.opencode/skills/~/.config/opencode/skills/.claude/skills/~/.claude/skills/.trae/skills/Agents 子代理.opencode/agents/~/.config/opencode/agents/.claude/agents/~/.claude/agents/.trae/agents/AGENTS.md.opencode/AGENTS.md~/.config/opencode/AGENTS.md.claude/CLAUDE.md~/.claude/CLAUDE.md.trae/AGENTS.mdCursor 安装路径内容Cursor 项目级Cursor 全局级Skills 技能模块.cursor/skills/~/.cursor/skills/Agents 子代理.cursor/agents/~/.cursor/agents/AGENTS.md.cursor/AGENTS.md~/.cursor/AGENTS.mdCopilot 安装路径内容Copilot 项目级Copilot 全局级Skills 技能模块.github/skills/~/.copilot/skills/Agents 子代理.github/agents/~/.copilot/agents/AGENTS.md.github/AGENTS.md~/.copilot/AGENTS.md环境校验执行完上述步骤后检查目录结构是否符合以下规范项目级安装cannbot-skills/plugins-official/tilelang-op-orchestrator/ ├── .opencode/ │ ├── skills/ # 技能模块9 个 │ │ ├── tilelang-env-check/ │ │ ├── tilelang-submodule-pull/ │ │ ├── tilelang-op-design/ │ │ ├── tilelang-op-develop/ │ │ ├── tilelang-op-test-design/ │ │ ├── tilelang-perf-optimization/ │ │ ├── tilelang-api-best-practices/ │ │ ├── tilelang-programming-model-guide/ │ │ └── tilelang-review/ │ ├── agents/ # 3 个子代理analyst / developer / perf-tuner │ ├── AGENTS.md # 编排器Primary配置 │ └── cannbot-manifest.json # 安装清单 ├── tilelang-ascend # tilelang代码仓 ├── init.sh # 初始化脚本 └── quickstart.md # 本文档二、快速上手启动在初始化完成的目录下执行opencode # OpenCode 用户开发算子示例在交互界面中输入算子开发需求CANNBot 会按照“算子方案设计--算子代码实现--算子精度验证”分阶段开发流程引导你完成帮我开发一个 softmax 算子方案设计核心工作流采用 3 阶段状态机编排由 orchestrator 统一调度确保算子开发质量Stage 1 算子设计含需求理解 → Stage 2 代码实现 测试 精度调试一站式 → Stage 3 性能调优可选每阶段通过工件门禁校验后才进入下一阶段Stage 2 内部完成生成代码 → 跑测试 → 精度调试全部循环精度通过后才询问是否进入 Stage 3。支持断点续跑、失败恢复与设计回退Subagent 返回[DESIGN_ERROR]时回退到 Stage 1 重做设计详见 AGENTS.md。产出物示例TileLang 算子开发模式下CANNBot 会在examples/{operator}/目录下生成文件examples/softmax/ ├── DESIGN.md # Stage 1 设计文档 ├── example_softmax.py # Stage 2 kernel 内嵌 golden test 用例 main 块 ├── README.md # 实现说明可选 ├── perf_tuning/ # Stage 3 性能调优产物可选 ├── history_version/ # 设计回退 / 精度调试备份 └── .orchestrator_state.json # 流程状态自动维护支持断点续跑三、可用技能与代理Skill用途触发时机tilelang-env-check环境检查与自动修复子模块 / 编译 / 环境变量Stage 1 启动前环境预检tilelang-submodule-pull拉取代码与子模块env-check 发现子模块缺失时tilelang-op-design算子方案设计生成 DESIGN.mdStage 1tilelang-op-develop基于 DESIGN.md 生成算子代码与测试Stage 2tilelang-op-test-design测试用例与精度标准设计Stage 2 辅助tilelang-perf-optimization性能瓶颈分析与优化Stage 3tilelang-api-best-practicesAPI 速查表与最佳实践编写 kernel 查阅 API 时tilelang-programming-model-guideDeveloper/Expert 模式对照与转换选择编程模式时tilelang-review代码审查Python C代码 review 时Agent用途负责阶段tilelang-op-orchestrator流程编排、状态机、工件门禁、设计回退Primary全流程tilelang-op-analyst算子设计含需求理解、设计回退Stage 1tilelang-op-developer代码实现 测试 精度调试一站式Stage 2tilelang-op-perf-tuner性能分析与调优Stage 3四、Developer 模式 vs Expert 模式TileLang-Ascend 支持两种编程范式开发前需先确认使用哪种模式维度Developer自动化Expert手动控制内存分配T.alloc_shared/fragment编译器自动映射T.alloc_L1/ub/L0A/L0B/L0C显式指定计算T.Parallel 符号运算T.tile.add/exp/max等作用域编译器自动分离 Cube/Vector显式with T.Scope(C/V)同步自动手动T.barrier_all/set_flag/wait_flag适合场景快速开发、原型验证需要精细控制性能详细对照参见tilelang-programming-model-guideskill。五、常见问题Q: 如何查看帮助信息bash init.sh --helpQ: 项目级和全局安装如何选择项目级适合多项目开发每个项目可以有不同配置全局适合单一项目全局生效Q: 如何更新技能模块重新执行 init.sh 即可脚本会自动覆盖旧版本。Q: 如何选择 Developer 模式还是 Expert 模式场景推荐模式快速验证算子可行性Developer 模式原型开发和概念验证Developer 模式需要精细控制硬件资源和内存层级Expert 模式生产级高性能算子调优Expert 模式混合使用如 Cube 用 DeveloperVector 用 Expert混合模式总结TileLang 算子开发模式通过 Python DSL 实现昇腾 NPU 算子的快速开发环境搭建核心两步克隆仓库 → 执行 init.shopencode/claude是核心交互指令开发前必须确认使用 Developer / Expert / 混合模式【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考