本文旨在浅析昇腾Al计算平台CANN
的逻辑架构
CANN平台
昇腾Al计算为我们提供了一个平台,叫做CANN (Compute Architecture for Neural Network)
“专门为神经网络设计的计算框架”
CANN平台由计算加速库、芯片算子库和高度自动化的算子开发工具等组成
CANN逻辑架构
CANN平台的逻辑架构
芯片使能层
实现解决方案对外能力开放,以及基于计算图的业务流的控制和运行。
芯片使能层的逻辑架构
-
AscendCL昇腾计算语言库
开放编程框架,提供
Device/Context/Stream/內存
等的管理、**模型及算子的加载与执行、媒体数据处理、Graph管理
**等API库,供用户开发深度神经网络应用。 -
图优化和编译
统一的IR接口对接不同前端,支持
TensorFlow/Caffe/MindSpore
表达的计算图的解析/优化/编译,提供对后端计算引最优化部署能力。Graph Engine
:图编译和运行的控制中心Fusion Engine
:管理算子融合规则AICPU Engine
:AICPU
算子信息管理HCCL
:HCCL
算子信息管理
-
算子编译和算子库
TBE
:编译生成算子及算子开发工具- 算子库:神经网络加速库
-
数字视觉预处理
实现视频编解码
(VENC/DEC)
、JPEG编解(JPEGD/E)
、 PNG解码(PNGD)
、VPC(预处理) -
执行引擎
Runtime
:为神经网络的任务分配提供资源管理通道Task Scheduler
:计算图Task序列的管理和调度、执行
计算资源层
主要实现系统对数据的处理和对数据的运算执行。
计算资源层的逻辑架构
-
计算设备
Al Core
:执行NN类算子AI CPU
: 执行CPU算子- DVPP: 视频/图像编解码、预处理
-
通信链路
PCle
:芯片间或芯片与CPU间高速互联HCCS
:实现芯片间缓存一致性功能RoCE
:实现芯片内存 RDMA功能
应用层
包括基于Ascend平台
开发的各种应用,以及Ascend
提供给用户进行算法开发、调优的应用类工具。
应用层的逻辑架构