课程链接:https://www.hiascend.com/zh/developer/courses/detail/1579657120536670210
CANN中的应用开发框架AscendCL(Ascend Computing Language),用于加速模型推理的应用开发框架,与训练无关。
AI领域的三类任务:
- 应用
编写应用、应用落地
调用模型→传送数据→获取结果 - 模型
已有算法→实现为模型或网络
利用MindSpore实现模型 - 算子
模型的内部结构:计算节点串起的有向无环计算图
计算节点:卷积、激活、全连接、归一化等
课程提纲:
- AscendCL(Ascend Computing Language,昇腾计算语言)是昇腾计算开放编程框架,是对底层昇腾计算服务接口的封装,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等API库,实现在昇腾CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用。
- AscendCL的优势如下:
- 高度抽象:算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少API数量,降低复杂度。
- 向后兼容:AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
- 零感知芯片:一套AscendCL接口可以实现应用代码统一,多款昇腾处理器无差异。
- AscendCL的主要应用场景如下:
- 开发应用:用户可以直接调用AscendCL提供的接口开发图片分类应用、目标识别应用等。
- 供第三方框架调用:用户可以通过第三方框架调用AscendCL接口,以便使用昇腾AI处理器的计算能力。
- 供第三方开发lib库:用户还可以使用AscendCL封装实现第三方lib库,以便提供昇腾AI处理器的运行管理、资源管理等能力。