华为计算微信公众号
昇腾AI开发者公众号
华为计算微博
华为计算今日头条
昇腾社区首页
中文
注册
登录
主页
核心组件
Ascend C 算子编程语言
AOL 算子加速库
HCCL 集合通信库
GE 图引擎
BiSheng Compiler 毕昇编译器
RunTime 运行时
Driver 驱动
开源开放
开源开放地图
贡献路径
论坛
治理架构
学习
学习路径
在线课程
在线实验
认证
下载
文档
支持
Ascend C 算子编程语言
暂无评分
我要评分
Ascend C
是CANN针对算子开发场景推出的编程语言,原生支持C和C++标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署
立即下载
获取源码
查看文档
关键特性
遵循C/C++标准规范
开发者采用标准C++语法和类库API进行编程。类库API分为两种:基础API和高阶API。基础API实现对硬件能力的抽象,开放芯片的能力,保证完备性和兼容性;高阶API,通常会调用多种基础API实现常用的计算算法,用于提高开发效率
自动化流水并行调度
并行调度分为核间并行和核内流水并行,通过并行调度来获取最优执行性能
核间并行是指将需要处理的数据拆分,在处理器的多个计算核心上并行处理
核内流水并行是指把算子核内的处理程序分为多个流水任务:搬入、计算、搬出,在核内形成流水线
结构化核函数编程
提供结构化的编程范式,将算子核函数的实现程序分解为更小的、易于理解和管理的部分。以矢量编程范式为例, 开发者基于“搬入、计算、搬出”三段式结构进行编程。该编程方式帮助开发者搭建编程框架,开发者可以聚焦算子的实现逻辑,极大提高编程效率
CPU/NPU 孪生调试
直击算子开发痛点,大幅提升算子调试效率。既可以在CPU域进行调试调优,又可以在NPU侧进行调优验证,通过CPU域与NPU域相结合的方式,降低调试难度,提升调试效率
开源开放项目
ascendc-api-adv
高阶封装
灵活定制
简洁易用
昇腾硬件上面向算子开发场景的编程语言Ascend C的高阶类库
50
119
20
CATLASS
第三方
扩展项目
高性能模板
分层灵活
易用适配
聚焦于提供高性能矩阵乘类算子基础模板的代码库
185
56
65
了解更多
上手开发
HelloWorld 快速上手
快速上手Ascend C,完成矢量算子核函数和基础调用能力
Ascend C介绍视频
Ascend C HelloWorld样例
快速入门文档
入门课程
开发流程 全面掌握
全面掌握Ascend C,完成Tiling开发,并进行单算子、网络中算子调用
Tiling编程文档
算子调用文档
算子调用代码样例
算子开发工具文档
进阶课程
高性能编程 深度驾驭
深度驾驭Ascend C,开发高性能的复杂算子,充分发挥硬件能力
矩阵/融合算子编程文档
高级课程
矩阵/融合算子编程样例
最佳实践
还可点击
在线课程、
微认证、
代码样例
获取更多算子开发学习资源
技术文章
Ascend C编程入门教程
Ascend C编程的入门极简教程,深入浅出,系统讲解,理论知识、应用能力快速掌握
我的第一份Ascend C代码
提供Ascend C保姆级教程,从一个简单的实例出发,带您体验Ascend C算子开发的基本流程
Ascend C背后的魔法
探索隐藏在多核并行,流水计算、dobule buffer背后的CANN Ascend C算子魔法
查看更多
支持与帮助
MindStudio(算子开发)
更简单的计算和内存抽象,自动流水同步;更简便的调试手段,降低开发者编码成本
昇腾论坛
问题求助,技术探讨,大咖在线答疑解惑
支持与服务
为您提供多样化的自助查询途径、专业高效的人工服务支持