CANN逻辑架构
图1 CANN逻辑架构

- TF Adapter
- 图优化和编译
对不同前端提供统一的IR(Intermediate Representation)接口对接,支持TensorFlow/Caffe/MindSpore表达的计算图的解析/优化/编译,提供对后端计算引擎最优化部署能力,充分发挥设备性能。
- GE (Graph Engine):作为图编译和运行的控制中心,提供图运行环境管理、图执行引擎管理、算子库管理、子图优化管理、图操作管理和图执行控制。
- FE (Fusion Engine):管理算子的融合规则、依据融合规则对IR Graph进行匹配和算子融合操作、对系统支持的算子进行管理和维护算子列表、支持自定义算子。
- AICPUE (AICPU Engine):针对计算特征更亲和于CPU的部分算子,负责算子的信息管理和子图编译,包括算子注册、算子内存需求计算、子图优化和task生成,以支持这类算子在AI CPU运算单元的执行。
- HCCL (Huawei Collective Communication Library):负责HCCL算子信息管理。HCCL实现参与并行计算的所有worker的梯度聚合(allreduce)功能,为Ascend多机多卡训练提供数据并行方案。
- 算子编译和算子库
提供Ascend算子开发和编译能力,使能昇腾AI处理器能力。
- TBE:通过DSL(domain-specific language)描述算子的算法实现和优化调度来自动编译生成算子,同时还作为自定义算子的开发工具供生态开发者使用。
- 算子库:Ascend神经网络加速库,内置丰富算子,支撑神经网络训练和推理加速。
- 执行引擎
- Runtime:为神经网络的任务分配提供了资源管理通道。昇腾AI处理器Runtime运行在应用程序的进程空间中,为应用程序提供了存储(Memory)管理、设备(Device)管理、执行流(Stream)管理、事件(Event)管理、核(Kernel)函数执行等功能。
- TS:Task Scheduler,负责计算图Task序列的管理和调度、执行。
- 计算设备
- AICore:负责NN类算子的执行。
- AICPU:负责执行Ascend设备上运行的CPU类算子。
- 通信链路
主要实现单机多卡、多机多卡之间的通信,完成训练业务梯度聚合(allreduce),包括PCIe、HCCS和RoCE高速链路。
- HCCS(Huawei Cache Coherence System):华为缓存一致性系统,HCCS链路可以实现多个昇腾AI处理器之间的高速互联,并且支持多处理器之间的缓存一致性功能。
- RoCE (RDMA over Converged Ethernet) :基于融合以太网的RDMA,在跨服务器节点的昇腾AI处理器间,实现处理器内存RDMA功能。
- PCIe:昇腾AI处理器与CPU之间的高速互连。
父主题: 入门学习