简介
pyacl是什么?
acl(Ascend Computing Language)是一套开发深度神经网络应用的C语言API库,能够实现利用底层硬件计算资源,在CANN平台上进行深度学习推理计算、图形图像预处理、单算子加速计算等。简单来说,就是统一的API框架,实现对所有资源的调用。计算资源层是昇腾AI处理器的硬件算力基础,主要完成神经网络的矩阵相关计算、完成控制算子/标量/向量等通用计算和执行控制功能、完成图像和视频数据的预处理,为深度神经网络计算提供了执行上的保障。
pyacl(Python Ascend Computing Language)就是在acl的基础上使用CPython封装得到的Python API库,提供运行时管理、模型推理、媒体数据处理等API,单算子执行,使用户可以通过Python语言进行昇腾AI处理器的运行管理、资源管理等。

基本概念
概念 |
描述 |
---|---|
同步/异步 |
本文中提及的同步、异步是站在调用者和执行者的角度。
|
进程/线程 |
本文中提及的进程、线程,若无特别注明,则表示用户应用程序中的进程、线程。 |
通道 |
在RGB色彩模式下,图像通道就是指单独的红色R、绿色G、蓝色B部分。也就是说,一幅完整的图像,是由红色、绿色、蓝色三个通道组成的,它们共同作用产生了完整的图像。同样在HSV色系中指的是色调H、饱和度S、亮度V三个通道。 |
标准形态 |
以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在从模式,则称为EP模式。 指Device做为EP,通过PCIe配合主设备(X86、ARM等各种服务器)进行工作,此时Device上的CPU资源仅能通过Host调用,相关推理应用程序运行在Host。Device只为服务器提供NN计算能力。 |
RC模式 |
以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在主模式,可以扩展外设,则称为RC模式。 |
文档使用建议
如果您是第一次使用本文档,或者还不清楚以下问题时,建议:
- 先参考《CANN 软件安装指南》安装固件、驱动及CANN软件。
- 然后单击Link获取入门样例,按README.md中的指导下载样例源码、编译及运行应用等,再通过源码了解pyacl接口(接口名以acl开头)的关键代码逻辑。
- 再通过编程接口、接口调用流程了解整体的接口分类以及接口调用流程。
- 最后通过单算子调用、媒体数据处理(含图像/视频等)、模型管理等章节的接口调用流程+示例代码展开学习,扩展进行其它应用的开发。
具备python语言程序开发能力、对机器学习或深度学习有一定了解的开发者,可以更好地理解本文档。