华为计算微信公众号
昇腾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(算子开发)
更简单的计算和内存抽象,自动流水同步;更简便的调试手段,降低开发者编码成本
昇腾论坛
问题求助,技术探讨,大咖在线答疑解惑
支持与服务
为您提供多样化的自助查询途径、专业高效的人工服务支持