产品
注册
登录
什么是
A
s
c
e
n
d
C
_
_
Ascend C
是CANN针对算子开发场景推出的编程语言,原生支持C和C++标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署。
立即下载
用户指南
遵循C/C++标准规范
开发者采用标准C++语法和类库API进行编程。类库API分为两种:基础API和高阶API。基础API实现对硬件能力的抽象,开放芯片的能力,保证完备性和兼容性;高阶API,通常会调用多种基础API实现常用的计算算法,用于提高开发效率。
自动化流水并行调度-核间并行
并行调度分为核间并行和核内流水并行,通过并行调度来获取最优执行性能。
核间并行是指将需要处理的数据拆分,在处理器的多个计算核心上并行处理
自动化流水并行调度-核内流水并行
并行调度分为核间并行和核内流水并行,通过并行调度来获取最优执行性能。
核内流水并行是指把算子核内的处理程序分为多个流水任务:搬入、计算、搬出,在核内形成流水线。
结构化核函数编程
提供结构化的编程范式,将算子核函数的实现程序分解为更小的、易于理解和管理的部分。以矢量编程范式为例, 开发者基于“搬入、计算、搬出”三段式结构进行编程。该编程方式帮助开发者搭建编程框架,开发者可以聚焦算子的实现逻辑,极大提高编程效率。
CPU/NPU 孪生调试
直击算子开发痛点,大幅提升算子调试效率。既可以在CPU域进行调试调优,又可以在NPU侧进行调优验证,通过CPU域与NPU域相结合的方式,降低调试难度,提升调试效率。
学习成长资源
HelloWorld 快速上手
快速上手Ascend C,完成矢量算子核函数和基础调用能力
Ascend C介绍视频
Ascend C HelloWorld样例
快速入门文档
开发流程 全面掌握
全面掌握Ascend C,完成Tiling开发,并进行单算子、网络中算子调用
Tiling编程文档
算子调用文档
算子调用代码样例
算子开发工具文档
进阶课程
查看更多
高性能编程 深度驾驭
深度驾驭Ascend C,开发高性能的复杂算子,充分发挥硬件能力
矩阵/融合算子编程文档
高级课程
矩阵/融合算子编程样例
还可点击
在线课程、
在线实验、
微认证、
Samples
获取更多算子开发学习资源
技术文章
更多
Ascend C编程入门教程
Ascend C编程的入门极简教程,深入浅出,系统讲解,理论知识、应用能力快速掌握
我的第一份Ascend C代码
提供Ascend C保姆级教程,从一个简单的实例出发,带您体验Ascend C算子开发的基本流程
Ascend C背后的魔法
探索隐藏在多核并行,流水计算、dobule buffer背后的CANN Ascend C算子魔法
获取开发支持与帮助
MindStudio(算子开发)
昇腾论坛
支持与服务