昇腾社区首页
中文
注册

CANN逻辑架构

图1 CANN逻辑架构
  • TF Adapter

    加速Tensorflow图在昇腾AI处理器上执行的Tensorflow插件。

  • 图优化和编译

    对不同前端提供统一的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之间的高速互连。