计算单元

计算单元是AI Core中提供强大算力的核心单元,相当于AI Core的主力军。AI Core包含的计算单元如表1所示。

表1 计算单元介绍

计算单元

描述

Cube

Cube负责执行矩阵运算。

Cube每次执行可以完成一个fp16的16*16与16*16的矩阵乘,例如C=A*B,如果是int8输入,则一次完成16*32与32*16的矩阵乘。其中A来源于L0A,B来源于L0B,L0C存储矩阵乘的结果和中间结果。

Vector

Vector负责执行向量运算。

其算力低于Cube,但灵活度高于Cube(如支持数学中的求倒数,求平方根等),Vector所有计算的源数据以及目标数据都要求存储在Unified Buffer中,并要求32Byte对齐。

Scalar

Scalar负责各类型的标量数据运算和程序的流程控制。

功能上可以看做一个小CPU,完成整个程序的循环控制、分支判断、Cube/Vector等指令的地址和参数计算以及基本的算术运算等。