当前位置: 首页 > news >正文

基于 Claude(Anthropic 的 AI 助手)进行华为昇腾(Ascend)Ascend C 算子开发

基于 Claude(Anthropic 的 AI 助手)进行华为昇腾(Ascend)Ascend C 算子开发**的相关内容。目前社区和华为官方都有相关的实践方案,主要分为以下两类:


一、社区方案:cann-claude-tools

这是一个基于Claude Code CLI的迭代式 CANN Ascend C 算子自动生成工具,由社区开发者维护。

核心特性

特性说明
迭代优化自动迭代 N 次,选择性能最优的代码实现
知识库集成通过 MCP Server 查询 Ascend C API 和算子示例
经验积累自动记录编译错误和优化经验,跨运行复用
自动签名解析从 Python 参考代码自动解析 inputs/outputs/init_params

支持范围

类型算子示例计算单元状态
VectorReLU, Abs, Exp, Add, Mul, SqrtVector Unit✅ 完整支持
CubeMatMul, Conv2D, GEMMCube Unit⚠️ 模板支持(需手动实现 Process)

前置条件

  • CANN 开发环境msopgen、Ascend C 编译工具链、NPU 驱动
  • Claude Code CLInpm install -g @anthropic-ai/claude-code
  • ANTHROPIC_API_KEY:需设置环境变量
  • Python 3.10+

快速开始

# 克隆仓库gitclone https://github.com/pgg3/cann-claude-tools.gitcdcann-claude-tools# 创建虚拟环境(需使用 NPU 环境的 Python)uv venv--python/path/to/npu-python --system-site-packages# 安装依赖(含 MCP server)uvsync--extramcp

二、官方方案:Ascend C Skills(AI Agent 技能体系)

华为昇腾官方推出的Ascend C Skills是一套模块化的 AI Agent 技能体系,支持Cursor + Claude Opus 4.6等模型,可在 1 小时内完成 Vector 算子开发。

9 阶段开发流程

阶段1: ascendc-operator-env-check → 开发环境检测 阶段2: ascendc-operator-project-init → 工程初始化 阶段3: ascendc-operator-design → 需求设计(生成设计文档) 阶段4: ascendc-operator-testcase-gen → 测试用例生成 阶段5: ascendc-operator-code-gen → Ascend C kernel 代码生成 阶段6: ascendc-operator-compile-debug → 编译调试 阶段7: ascendc-operator-precision-eval → 精度验证(≥30例) 阶段8: ascendc-operator-performance-eval → 性能评估(Benchmark) 阶段9: ascendc-operator-doc-gen → 文档生成 阶段10: ascendc-operator-performance-optim → 性能优化闭环

代码仓

  • GitCode: https://gitcode.com/Ascend/agent-skills

三、Ascend C 算子开发基础

无论你使用哪种 AI 辅助方案,了解 Ascend C 的基本编程模型都是必要的。

核心特点

  • C/C++ 原生编程:Ascend C 原生支持 C/C++ 标准规范
  • 屏蔽硬件差异:编程模型屏蔽硬件差异,提高代码通用性
  • API 封装:类库 API 封装,兼顾易用性和高效性
  • 孪生调试:支持 CPU 侧模拟 NPU 侧行为,便于调试

矢量编程三级流水

CopyIn → Compute → CopyOut (搬入) (计算) (搬出)
  • CopyInDataCopy从 GlobalTensor 到 LocalTensor →EnQue放入 VECIN Queue
  • ComputeDeQue从 VECIN 取出 → 矢量计算(如Add)→EnQue放入 VECOUT Queue
  • CopyOutDeQue从 VECOUT 取出 →DataCopy搬回 GlobalTensor

环境准备

# 安装 CANN 开发套件(示例)wget-OAscend-cann-toolkit_8.0.RC1.alpha002_linux-aarch64.run<下载链接>chmod+x Ascend-cann-toolkit_8.0.RC1.alpha002_linux-aarch64.runsudo./Ascend-cann-toolkit_8.0.RC1.alpha002_linux-aarch64.run--installsource/usr/local/Ascend/ascend-toolkit/set_env.sh

四、总结对比

维度cann-claude-tools(社区)Ascend C Skills(官方)
模型依赖Claude Code CLI支持 Cursor + Claude / 其他模型
自动化程度高(迭代优化 + 经验积累)高(9阶段标准化流程)
算子支持Vector 完整 / Cube 模板Vector 类别已验证
MCP 集成✅ 内置 Ascend C API 查询通过 Agent 技能调用
维护方社区(pgg3)华为昇腾官方

如果你是想快速上手,建议直接尝试Ascend C Skills官方方案;如果你需要深度定制和迭代优化cann-claude-tools的 MCP 知识库集成和经验积累机制会更有优势。需要我针对其中某个方案展开更详细的说明吗?

http://www.jsqmd.com/news/1098486/

相关文章:

  • 告别文件格式烦恼:UniExtract2如何成为你的终极解压瑞士军刀
  • 基于代理模式的服务发现与治理:Agency-Agents实战指南
  • 自适应Transformer架构AdaPerceiver的设计与实践
  • SpringBoot+Vue 公益服务平台管理平台源码【适合毕设/课设/学习】Java+MySQL
  • Beyond Compare 5终极激活指南:三步实现永久专业版
  • 告别臃肿控制软件:G-Helper如何用50MB重塑华硕笔记本性能管理体验
  • AWS EBS 磁盘扩容与挂载实验手册
  • YOLOv8一站式本地部署:图像分类、检测与分割实战指南
  • 太赫兹傅里叶叠层成像技术突破衍射极限
  • 008、SRGAN感知损失:对抗生成网络在超分中的视觉质量革命
  • 基于Grounding-DINO、SAM2和GPT4o的动态对象分割技术
  • 扩散模型能耗预测:计算复杂度与能源效率的关系
  • Sora接入国内企业私有云的完整链路:从模型蒸馏、视频缓存优化到GPU资源调度(含华为昇腾适配代码)
  • 网络安全学习130天
  • SPSS方差分析保姆级教程:从数据录入到结果解读,手把手搞定单因素与多因素分析
  • 计算机专业就业:工程实践里的常见坑
  • 蓝桥杯嵌入式备赛:用STM32CubeMX配置PWM输出,5分钟搞定呼吸灯
  • 操作系统页缓存 vs Redis:重新审视缓存本质,提升系统性能
  • 10分钟快速上手:PrismLauncher-Cracked破解版Minecraft启动器终极指南
  • 扩散模型能耗预测:计算复杂度与优化策略
  • CADC技术:基于树突卷积的内存计算优化方案
  • 告别梯形图!用IGT-SER网关5分钟搞定条码枪与西门子S7-1500的数据对接
  • AMD GPU深度学习优化与ZAYA1大模型实践
  • 量子立方体编码:理论与实践的突破性进展
  • 轻量化YOLOv8船舶检测模型:99.1%精度与边缘部署实战
  • 基于Harness Engineering的AI智能体工程化实践:以Hermes Agent构建金融问答系统
  • 别再盲目试用了!基于17万行AI生成代码质量审计数据,选出真正可靠的3款生产级工具
  • 量子模拟技术:经典方法与量子处理器的性能对比
  • SpringBoot启动慢怎么办?几个实用的性能优化技巧
  • CNN在模拟电路布局生成中的应用与优化