来源:市场资讯
(来源:华为计算)
背景介绍
Ascend C作为昇腾推出的高性能算子开发语言,凭借其接近硬件的编程模型和卓越的性能表现,成为了昇腾算子开发的关键技术支撑。为了降低在昇腾上开发Ascend C算子的门槛,提高开发效率和代码质量,我们构建了一套全面的Ascend C Skills技能体系,该体系涵盖了算子开发的全流程,助力开发者迅速交付高质量、高性能的算子实现。
Ascend C Skills支持的生成算子类别与生成结果
Ascend C Skills现已基本支持Vector类算子,当前已完成测试的算子清单如下:
![]()
Ascend C Skills架构设计
整体架构
Ascend C Skills采用模块化设计,将算子开发流程细分为环境配置、工程初始化、需求设计、代码生成、编译调试、精度验证、性能评估、文档生成和性能优化9个技能模块。每个模块专注于特定的开发阶段,既可独立使用,也可串联成完整的开发流程。
![]()
各阶段Skills功能详解
阶段1:ascendc-operator-project-init(工程初始化)
核心功能:初始化Ascend C算子工程目录结构。
阶段2:ascendc-operator-design(需求设计)
核心功能:生成适用于昇腾的Ascend C算子需求文档,用于指导后续的代码生成。
阶段3:ascendc-operator-testcase-gen(代码生成)
核心功能:根据设计文档生成测试用例设计文档。
阶段4:ascendc-operator-code-gen(代码生成)
核心功能:根据设计文档生成高性能Ascend C kernel代码。
阶段5:ascendc-operator-compile-debug(编译调试)
核心功能:编译安装Ascend C算子并执行精度测试。
阶段6:ascendc-operator-precision-eval(精度验证)
核心功能:对已编译安装的算子生成全面的精度测试用例集(≥30例),运行并生成精度验证报告。
阶段7:ascendc-operator-performance-eval(性能评估)
核心功能:Benchmark算子性能,与PyTorch原生/small-op-composed baseline对比。
阶段8:ascendc-operator-doc-gen(文档生成)
核心功能:为Ascend C算子生成README.md和torchAPI文档,描述算子接口及功能。
阶段9:ascendc-operator-performance-optim(性能优化)
核心功能:排查并优化Ascend C算子性能,形成排查→修改→验证闭环。
LayerNorm算子开发实战案例
案例背景
LayerNorm是深度学习中广泛使用的归一化算子之一,在Transformer、BERT等模型频繁使用。本案例将展示如何使用Ascend C Skills完成LayerNorm算子的全流程开发。
开发流程概览
访问代码仓地址:
https://gitcode.com/Ascend/agent-skills,下载源码仓。随后,基于Agent输入对应的提示词,即可全自动完成算子开发。
下面以Cursor + Opus4.6 为例进行功能演示。
关键阶段详解
阶段1:开发环境检测、需求收集
用户输入需求后,Agent开始检测开发环境:
![]()
阶段2:工程初始化
使用ascendc-operator-project-init技能创建工程:
![]()
阶段3:需求设计
使用ascendc-operator-design技能确认需求并生成设计文档:
![]()
![]()
阶段4:测试用例生成
使用ascendc-operator-testcase-gen技能生成测试用例:
![]()
阶段5:代码生成与检视
使用ascendc-operator-code-gen技能生成kernel代码:
![]()
阶段6:编译调试
使用ascendc-operator-compile-debug技能编译安装:
![]()
阶段7:文档生成
使用ascendc-operator-doc-gen技能生成标准化接口文档:
![]()
阶段8:精度验证
使用ascendc-operator-precision-eval技能进行精度验证:
![]()
![]()
阶段9:性能评估
使用ascendc-operator-performance-eval技能进行性能评估:
![]()
总结与展望
Ascend C Skills通过模块化的技能体系,将昇腾上Ascend C算子开发的最佳实践固化为一套可复用的工作流程。从环境配置到性能优化,每个阶段都设有明确的输入输出、详细的参考文档和标准化的质量检查。
目前,Ascend C Skills已支持多种算子的开发,覆盖Vector算子类别,且精度验证均已通过。未来,我们将继续扩展算子支持范围,优化性能表现,为昇腾生态建设贡献力量。Ascend C Skills不仅是一套工具,更体现了标准化、自动化、高质量的开发理念。随着这套技能体系的不断完善,将有越来越多的开发者加入到算子开发的行列,共同推动AI芯片生态的繁荣发展。
代码仓链接:
https://gitcode.com/Ascend/agent-skills
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.