自用华为ICT云赛道AI第三章知识点-昇腾芯片硬件架构,昇腾芯片软件架构

昇腾AI处理器逻辑架构

  • 昇腾AI处理器的主要架构组成:
    • 芯片系统控制CPU(Control CPU)
    • AI计算引|擎(包括AICore和AICPU)
    • 多层级的片上系统缓存(Cache)或缓冲区(Buffer)
    • 数字视觉预处理模块(Digital Vision Pre-Processing,DVPP)等
  • 不同系列的芯片结构会略有差异

昇腾AI计算引擎一达芬奇架构

  • 昇腾AI处理器的四大主要架构之一是AI计算引l擎,AI计算引擎有包含了AIcore(达芬奇架构)和AICPU。因此达芬奇架构这一专门为AI算力提升所研发的架构也就是昇腾AI计算引擎和AI处理器的核心所在。
  • AI Core负责高效矩阵运算,AI CPU负责通用运算

达芬奇架构(AI Core)

  • 达芬奇架构主要部分:
  • 计算单元:包含三种基础计算资源(矩阵计算单元、向量计算单元、标量计算单元)
  • 存储系统:AlCore的片上存储单元和相应的数据通路构成了存储系统。
  • 控制单元:整个计算过程提供了指令控制,相当于AICore的司令部,负责整个AICore的运行。

达芬奇架构(AlCore)一计算单元

  • 三种基础计算资源:CubeUnit、VectorUnit和ScalarUnit,分别对应矩阵、向量和标量三种常见的计算模式。
    • 矩阵计算单元:矩阵计算单元和累加器主要完成矩阵相关运算。一拍完成一个fp16的16x16与16x16矩阵乘(4096);如果是int8输入,则一拍完成1632 与 3216 矩阵乘(8192);
    • 向量计算单元:实现向量和标量,或双向量之间的计算,功能覆盖各种基本的计算类型和许多定制的计算类型,主要包括FP16/FP32/Int32/Int8等数据类型的计算;
    • 标量计算单元:相当于一个微型CPU,控制整个AICore的运行,完成整个程序的循环控制、分支判断,可以为Cube/Vector提供数据地址和相关参数的计算,以及基本的算术运算。

达芬奇架构(AICore)一存储系统

  • 存储系统由存储单元和相应的数据通路,构成了AICore的存储系统
  • 存储单元由存储控制单元、缓冲区和寄存器组成:
    • 存储控制单元:通过总线接口直接访问AICore之外的更低层级的缓存,也可以直通到DDR或HBM直接访问内存。其中还设置了存储转换单元,作为AICore内部数据通路的传输控制器,负责AICore内部数据在不同缓冲区之间的读写管理,以及完成一系列的格式转换操作,如补零,Img2Col,转置、解压缩等;
    • 输入缓冲区:用来暂时保留需要频繁重复使用的数据,不需要每次都通过总线接口到AICore的外部读取,从而在减少总线上数据访问频次的同时也降低了总线上产生拥堵的风险,达到节省功耗、提高性能的效果;
    • 输出缓冲区:用来存放神经网络中每层计算的中间结果,从而在进入下一层计算是方便的获取数据。相比较通过总线读取数据的带宽低,延迟大,通过输出缓冲区可以大大提升计算效率;
    • 寄存器:AlCore中的各类寄存器资源主要是标量计算单元在使用。
  • 数据通路:是指AICore在完成一次计算任务时,数据在AICore中的流通路径。
    • 达芬奇架构数据通路的特点是多进单出,主要是考虑到神经网络在计算过程中,输入的数据种类繁多并且数量巨大,可以通过并行输入的方式来提高数据流入的效率。与此相反,将多种输入数据处理完成后往往只生成输出特征矩阵,数据种类相对单一,单输出的数据通路,可以节约芯片硬件资源。

达芬奇架构(AICore)-控制单元

  • 控制单元主要组成部分为系统控制模块、指令缓存、标量指令处理队列、指令发射模块、矩阵运算队列、向量运算队列、存储转换队列和事件同步模块。
    • 系统控制模块:控制任务块(AICore最小任计算务粒度)的执行进程,在任务块执行完成后,系统控制模块会进行中断处理和状态申报。如果执行过程出错,会把执行的错误状态报告给任务调度器;
    • 指令缓存:在指令执行过程中,可以提前预取后续指令,并一次读入多条指令进入缓存,提升指令执行效率;
    • 标量指令处理队列:指令被解码后便会被导入标量队列中,实现地址解码与运算控制,这些指令包括矩阵计算指令、向量计算指令以及存储转换指令等;
    • 指令发射模块:读取标量指令队列中配置好的指令地址和参数解码,然后根据指令类型分别发送到对应的指令执行队列中,而标量指令会驻留在标量指令处理队列中进行后续执行;
    • 指令执行队列:指令执行队列由矩阵运算队列、向量运算队列和存储转换队列组成,不同的指令进入相应的运算队列,队列中的指令按进入顺序执行;
    • 事件同步模块:时刻控制每条指令流水线的执行状态,并分析不同流水线的依赖关系,从而解决指令流水线之间的数据依赖和同步的问题。

CANN AI异构计算架构

  • 昇腾AI应用
    • 昇腾AI应用包含推理类应用、框架类应用(训练)、开发IDE(MindStudio)。
  • 昇腾计算语言
    • 昇腾计算语言(Ascend ComputingLanguage,AscendCL)接口是昇腾计算开放编程框架,对开发者屏蔽底层多种处理器差异,提供算子开发接口TBE、标准图开发接口AIR、应用开发接口,支持用户快速构建基于Ascend平台的AI应用和业务。
  • 昇腾计算服务层
    • 昇腾计算服务层主要提供昇腾算子库AOL,通过神经网络(NeuralNetwork,NN)库、线性代数计算库(Basic Linear AlgebraSubprograms,BLAS)等高性能算子加速计算;昇腾调优引l擎AOE,通过算子调优OPAT、子图调优SGAT、梯度调优GDAT、模型压缩AMCT提升模型端到端运行速度。同时提供AI框架适配器FrameworkAdaptor用于兼容Tensorflow、Pytorch等主流AI框架。
  • 推理类应用指基于AscendCL开发的应用,框架类为MindSpore等底层使用昇腾芯片训练的框架,
  • 昪腾计算编译层
    • 昇腾计算编译层通过图编译器(Graph Compiler)将用户输入中间表达(Intermediate Representation,IR)的计算图编译成异腾硬件可执行模型;同时借助张量加速引擎TBE(TensorBoostEngine)的自动调度机制,高效编译算子。
  • 昇腾计算执行层
    • 昇腾计算执行层负责模型和算子的执行,提供运行时库(Runtime)、图执行器(GraphExecutor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。
  • 昇腾计算基础层
    • 昇腾计算基础层主要为其上各层提供基础服务,如共享虚拟内存(SharedVirtualMemory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。
  • 计算资源
    • 是异腾AI芯片的硬件算力基础,提供计算资源,执行具体的计算任务。

昇腾AI处理器神经网络软件流

  • 昇腾AI处理器神经网络软件流,是深度学习框架到昇腾AI芯片之间的一座桥梁,完成一个神经网络应用的实现和执行,并聚集了如下几个功能模块。
  • 数字视觉预处理模块(DVPP):在输入之前进行一次数据处理和修饰,来满足计算的格式需求;
  • 算子能力开放(TBE):作为神经网络算子兵工厂,为神经网络模型源源不断提供功能强大的计算算子;
  • Runtime开放(运行管理器):为神经网络的任务下发和分配提供了各种资源管理通道;
  • 任务调度管理器:作为一个硬件执行的任务驱动者,为异腾AI芯片提供具体的目标任务;运行管理器和任务调度器联合互动,共同组成了神经网络任务流通向硬件资源的大坝系统,实时监控和有效分发不同类型的执行任务。
相关推荐
张较瘦_15 分钟前
[论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
论文阅读·人工智能·软件工程
whabc10030 分钟前
和鲸社区深度学习基础训练营2025年关卡3_Q1(1)
人工智能·深度学习
勤奋的知更鸟34 分钟前
标准化模型格式ONNX介绍:打通AI模型从训练到部署的环节
人工智能·语言模型
盼小辉丶1 小时前
Transoformer实战——Transformer模型性能评估
人工智能·深度学习·transformer
极限实验室1 小时前
Coco AI 实战(二):摄入MongoDB 数据
人工智能·mongodb
AIGC包拥它1 小时前
AI教学设计助手:生成好教案的Prompt技术实战(一)
人工智能·prompt
SoFlu软件机器人2 小时前
Cursor、飞算JavaAI、GitHub Copilot、Gemini CLI 等热门 AI 开发工具合集
人工智能·github·copilot
isNotNullX3 小时前
实时数仓和离线数仓还分不清楚?看完就懂了
大数据·数据库·数据仓库·人工智能·数据分析
Liudef063 小时前
大语言模型的极限:知识、推理与创造力的边界探析
人工智能·语言模型·自然语言处理
潮湿的心情3 小时前
亚洲牧原:活跃行业交流,延伸公益版图,市场拓展再结硕果
大数据·人工智能