计算单元是AI Core中提供强大算力的核心单元,相当于AI Core的主力军。AI Core包含的计算单元如表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等指令的地址和参数计算以及基本的算术运算等。 |