文章目录
- 官方文档 : HUAWEI Da Vinci Architecture
https://support.huaweicloud.com/intl/en-us/odevg-A800_9000_9010/atlaste_10_0007.html - PPT : DaVinci: A Scalable Architecture for Neural Network Computing
https://www.cmc.ca/wp-content/uploads/2020/03/Zhan-Xu-Huawei.pdf
相关博客
- 吴建明wujianming : 达芬奇架构NPU
https://zhuanlan.zhihu.com/p/352481421
- 计算单元
- Cube
- Vector
- Scalar
- 存储单元
- 控制单元
作为Ascend AI处理器的计算核心,AI core负责执行计算密集型向量和张量算子。
它可以被看作是现代微处理器的简化结构。它包括三个基本的计算资源:矩阵计算单元(立方体单元)、矢量计算单元(矢量单元)和标量计算单元(标量单元)。
这三个计算单元分别对应三种常见的计算模式:张量、向量和标量。
在实际计算过程中,三个计算单元各司其职,形成三条独立的执行管线,在系统软件的统一调度下相互配合,实现计算效率的优化。
此外,立方体单元和矢量单元支持不同精度和不同类型的计算模式。
AI Core architecture
AI核心由计算单元、存储单元和控制单元组成。
- 计算单位
AI核心中的执行单元包括Cube、Vector和Scalar,它们是不同类型数据的计算单元。 - 存储单元
AI Core将外部数据加载到内部存储器进行计算。
程序员可见的内部存储设备包括L1缓冲区、L0缓冲区、统一缓冲区、通用寄存器(GPR)、专用寄存器(SPR)和标量缓冲区。
为了便于AI Core中的数据传输和移动,提供了总线接口单元(BIU)、存储器传输引擎1(MTE1)、MTE2和MTE3。
BIU为AI核心和总线之间的交互提供了一个接口。
MTE在不同的缓冲区之间移动数据。 - 控制单元
AI核心的控制单元包括系统控制、标量PSQ、Instr.Dispatch、立方体队列、矢量队列、MTE队列和事件同步。System Control负责AI Core的运行模式、参数配置和功耗控制。
标量PSQ主要用于对控制指令进行解码。
使用Instr.Dispatch模块对指令进行解码和顺序传输后,它们将按类型分别发送到Cube Queue、Vector Queue或MTE Queue模块。
华为AI全景图
伊织 2023-08-04(周五)