【2023 · CANN训练营第一季】初识昇腾AI基础知识

一、昇腾AI架构

1.芯片层

芯片层为AI构架中的算力基础,本层主要是指昇腾的一系列硬件芯片。
eg:如集成到其他芯片中的Nano,Tiny,Lite
其中昇腾310主要用在推理场景,昇腾910用在训练场景

2.芯片使能层

昇腾AI计算平台CANN,其中包含计算加速库、芯片算子库、高度自动化算子开发工具等。用于针对上层AI框架的调用进行加速,力求向上支持多种AI框架,并在硬件上进行加速。

3.AI框架层

包含用于构建模型的训练框架,例如华为的MindSpore、 TensorFlow、Pytorch等

4.应用使能层

此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。其中,ModelArts是华为云上的训练资源平台,可以在上面找到自己需要的服务器平台进行学习

二、CANN逻辑架构

1.异腾计算语言接口

异腾计算语言 (Ascend Computing Language,AscendCL) 接口是异腾计算开放编程框架,是对低层异腾计算服务接口的封装。

它提供Device (设备) 管理、Context (上下文)管理、Stream (流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理Graph (图) 管理等API库,并且在文档中也提供了各种场景下的API库调用流程,方便用户开发人工智能应用。

2.异腾计算服务层

本层主要提供异腾计算库,例如神经网络 (Neural Network,NN) 库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS) 等;异腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI框架适配器

升腾ai处理器架构与编程 续篇 升腾ai945-3b_API

3.异腾计算编译引擎

本层主要提供图编译器 (Graph Compiler) 和TBE (Tensor Boost Engine) 算子开发支持前者将用户输入中间表达 (Intermediate Representation,IR)的计算图编译成NPU运行的模型。后者提供用户开发自定义算子所需的工具。

升腾ai处理器架构与编程 续篇 升腾ai945-3b_预处理_02

4.异腾计算执行引擎

本层负责模型和算子的执行,提供如运行时 (Runtime) 库(执行内存分配、模型管理、数据收发等)、图执行器 (Graph Executor) 、数字视觉预处理 (Digital Vision Pre-Processing,DVPP)、人工智能预处理 (Artificial lntelligence Pre-Processing,AIPP)、华为集合通信库 (Huawei Collective Communication Library,HCCL) 等功能单元。

升腾ai处理器架构与编程 续篇 升腾ai945-3b_学习_03

AIPP可以将预处理部分放在模型中进行,大大缩短了前处理时间

视频处理,图像处理等则离不开DVPP大作用

5.异腾计算基础层

本层主要为其上各层提供基础服务,如共享虚拟内存 (Shared Virtual Memory,SVM)设备虚拟化 (Virtual Machine,VM) 、主机-设备通信 (Host Device Communication,HD
c) 等。

升腾ai处理器架构与编程 续篇 升腾ai945-3b_加载_04

三、AscendCL简单认识

AscendCL是一个各类功能的封装API库,它提供运行时资源(例如设备、内存等)管理、模型加载与执行、算子加载与执行、图片数据编解码/裁剪/缩放处理等功能。

实现在异腾CANN平台上进行深度学习推理计算图形图像预处理、单算子加速计算等能力。简单来说,就是统一的API框架,实现对所有资源的调用。其框架如下:

升腾ai处理器架构与编程 续篇 升腾ai945-3b_加载_05

AscendCL的优势如下:

1.高度抽象: 算子编译、加载、执行的API归一,相比每个算子一个API,AscendCL大幅减少API数量,降低复杂度
2.向后兼容: AscendCL具备向后兼容,确保软件升级后,基于旧版本编译的程序依然可以在新版本上运行。
3.零感知芯片: 一套AscendCL接口可以实现应用代码统一,多款异腾处理器无差异.

AscendCL的主要应用场景如下:
1.开发应用: 用户可以直接调用AscendCL提供的接口开发图片分类应用、目标识别应用0
2.供第三方框架调用: 用户可以通过第三方框架调用AscendCL接口,以便使用异腾AI处理器的计算能力。
3.供第三方开发lib库: 用户还可以使用AscendCL封装实现第三方lib库,以便提供异腾AI处理器的运行管理、资源管理等能力。

ps:该文仅是为了记录CANN训练营的学习过程所用,不参与任何商业用途