3天上手Ascend C编程丨带你认识Ascend C基本概念及常用接口
💡
原文中文,约2900字,阅读约需7分钟。
📝
内容提要
本文介绍了Ascend C算子开发入门的第一次课程,包括Ascend C的优势、多层级API接口以及重要的知识点。Ascend C是CANN针对算子开发场景推出的编程语言,提高算子开发效率。Ascend C提供了0-3级API接口,开发者可以根据需要选择合适的API进行算子逻辑搭建和性能调优。介绍了重复迭代次数、相邻迭代间相同block的地址步长、同一迭代内不同block的地址步长和Mask参数的设置方法。华为全联接大会将于2023年举办,邀请业界同仁探讨智能化的关键举措。
🎯
关键要点
- Ascend C是CANN推出的编程语言,支持C和C++标准,提升算子开发效率。
- Ascend C通过多层接口抽象、自动并行计算和孪生调试等技术,帮助AI开发者低成本完成算子开发。
- Ascend C提供0-3级API接口,开发者可根据需求选择合适的API进行算子逻辑搭建和性能调优。
- 3级接口支持运算符重载,简化1级指令的表达,允许对整个Tensor进行计算。
- 2级接口解决一维tensor的连续计算问题,针对源操作数的连续数据进行计算。
- 0级接口是最底层的开发接口,支持非连续计算,允许用户定制化操作。
- Repeat times表示迭代次数,控制矢量计算单元读取数据的方式。
- Repeat stride控制相邻迭代间相同block的地址步长,影响数据读取的连续性。
- Block stride控制同一迭代内不同block的地址步长,影响数据处理的步长。
- Mask参数用于控制每次迭代内参与计算的元素,支持连续模式和逐比特模式。
- 华为全联接大会将于2023年举办,主题为加速行业智能化,邀请业界同仁探讨智能化的关键举措。
➡️