Ascend C基于硬件抽象架构进行编程, 进行屏蔽不同硬件之间的差异。
AI Core中包含计算单元、存储单元、搬运单元等核心组件。
组件分类 |
组件名称 |
组件功能 |
---|---|---|
计算单元 |
Scalar |
执行地址计算、循环控制等标量计算工作,并把向量计算、矩阵计算、数据搬运、同步指令发射给对应单元执行。 |
Vector |
负责执行向量运算。 |
|
Cube |
负责执行矩阵运算。 |
|
存储单元 |
Local Memory |
AI Core的内部存储。 |
搬运单元 |
DMA(Direct Memory Access) |
负责在Global Memory和Local Memory之间搬运数据,包含搬运单元MTE2(Memory Transfer Engine,数据搬入单元),MTE3(数据搬出单元)等。 |
开发者在理解硬件架构的抽象时,需要重点关注如下异步指令流、同步信号流、计算数据流三个过程: