【CANN训练营第三季】【昇腾AI入门课】1.3异构计算架构CANN

课程链接:https://www.hiascend.com/zh/developer/courses/detail/1579657120536670210


上图是对1.2的全栈架构的扩充,详细对芯片使能层进行了描述,芯片使能层的核心也就是CANN(compute architecture for neural network)。
CANN能提供多层次的编程接口,具有全场景、低门槛、高性能的优势,能支持快速构建基于昇腾平台的AI应用于业务。


CANN结构主要被抽象为5层:(以下内容来自课程提纲)

  1. 昇腾计算语言接口AscendCL
    昇腾计算语言(Ascend Computing Language,AscendCL)接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装
    它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API库,供用户开发人工智能应用调用。
  2. 昇腾计算服务层
    本层主要提供昇腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI框架适配器。
  3. 昇腾计算编译引擎
    本层主要提供图编译器(Graph Compiler)和TBE(Tensor Boost Engine)算子开发支持
    前者将用户输入中间表达(Intermediate Representation,IR)的计算图编译成NPU运行的模型。
    后者提供用户开发自定义算子所需的工具。
  4. 昇腾计算执行引擎
    本层负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。
  5. 昇腾计算基础层
    本层主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Memory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。

下面是课程给出的另外一幅CNN架构图,个人觉得比上面的图更清晰一些。
【CANN训练营第三季】【昇腾AI入门课】1.3异构计算架构CANN_第1张图片

你可能感兴趣的:(CANN训练营第三季AI入门课,人工智能,架构,华为云)