简介
本节介绍ACL的主要功能、基本概念,并给出本文档的学习顺序建议。
ACL应用开发是什么?
ACL应用开发是指基于接口名前缀为acl的一套C语言API库,利用昇腾AI处理器的硬件计算资源、在CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等。这套C语言API库,下文简称acl接口,它包含运行时资源管理、单算子调用、模型管理、媒体数据处理等API。

acl接口应用场景:
- 供CANN内部各组件调用:使用运行时资源管理功能,例如设备资源管理、内存管理等。
- 供AI框架调用:使用运行时资源管理、单算子调用等功能,以便使用昇腾AI处理器的计算能力。
- 开发AI应用:用户可以直接调用acl接口开发图片分类应用、目标识别应用等。
- 供第三方开发lib库:用户还可以将acl接口封装成第三方lib库,以便提供运行时资源管理等能力。
acl接口优势:
- 高度抽象:算子编译、加载、执行的API归一,相比每个算子一个API,大幅减少API数量,降低复杂度。
- 向后兼容:acl接口具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
- 零感知昇腾AI处理器:一套acl接口可以实现应用代码统一,多款昇腾AI处理器无差异。
基本概念
概念 |
描述 |
---|---|
同步/异步 |
本文中提及的同步、异步是站在调用者和执行者的角度:
|
进程/线程 |
本文中提及的进程、线程,若无特别注明,则表示用户应用程序中的进程、线程。 |
通道 |
在RGB色彩模式下,图像通道就是指单独的红色R、绿色G、蓝色B部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的,它们共同作用产生了完整的图像。同样在HSV色系中指的是色调H,饱和度S,亮度V三个通道。 |
|
以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在从模式,则称为 |
|
以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在主模式,可以扩展外设,则称为 |
文档使用建议
如果您是第一次使用本文档,已了解ACL做什么,但还不清楚如何开发应用时,建议:
- 先参考《CANN 软件安装指南》安装固件、驱动及CANN软件。
- 然后单击Link获取入门样例,按README.md中的指导下载样例源码、编译及运行应用等,再通过源码了解acl接口(接口名以acl开头)的关键代码逻辑。
- 再通过编程接口、接口调用流程了解整体的接口分类以及接口调用流程。
- 最后通过单算子调用、媒体数据处理(含图像/视频等)、模型管理等章节的接口调用流程+示例代码展开学习,扩展进行其它应用的开发。
具备C/C++语言程序开发能力、对机器学习或深度学习有一定了解的开发者,可以更好地理解本文档。