硬件架构抽象

Ascend C基于硬件抽象架构进行编程, 进行屏蔽不同硬件之间的差异。

图1 硬件架构抽象

AI Core中包含计算单元、存储单元、搬运单元等核心组件。

AI Core内部核心组件及组件功能详细说明如下表。
表1 AI Core内部核心组件

组件分类

组件名称

组件功能

计算单元

Scalar

执行地址计算、循环控制等标量计算工作,并把向量计算、矩阵计算、数据搬运、同步指令发射给对应单元执行。

Vector

负责执行向量运算。

Cube

负责执行矩阵运算。

存储单元

Local Memory

AI Core的内部存储。

搬运单元

DMA(Direct Memory Access)

负责在Global Memory和Local Memory之间搬运数据,包含搬运单元MTE2(Memory Transfer Engine,数据搬入单元),MTE3(数据搬出单元)等。

开发者在理解硬件架构的抽象时,需要重点关注如下异步指令流、同步信号流计算数据流三个过程: