矢量单元包含一个定点单元(含 128 个 8 位定点乘法器)和一个浮点单元(含 8 个单精度浮点乘法器)。在定点乘法器与浮点乘法器之间共享矢量寄存器和置换网络。峰值性能取决于操作数所使用的数据类型的大小。下表提供了矢量处理器通过每条指令可执行的 MAC 运算数量。
X 操作数 | Z 操作数 | 输出 | MAC 数/时钟数 |
---|---|---|---|
8 real | 8 real | 48 real | 128 |
16 real | 8 real | 48 real | 64 |
16 real | 16 real | 48 real | 32 |
16 real | 16 complex | 48 complex | 16 |
16 complex | 16 real | 48 complex | 16 |
16 complex | 16 complex | 48 complex | 8 |
16 real | 32 real | 48/80 real | 16 |
16 real | 32 complex | 48/80 complex | 8 |
16 complex | 32 real | 48/80 complex | 8 |
16 complex | 32 complex | 48/80 complex | 4 |
32 real | 16 real | 48/80 real | 16 |
32 real | 16 complex | 48/80 complex | 8 |
32 complex | 16 real | 48/80 complex | 8 |
32 complex | 16 complex | 48/80 complex | 4 |
32 real | 32 real | 80 real | 8 |
32 real | 32 complex | 80 complex | 4 |
32 complex | 32 real | 80 complex | 4 |
32 complex | 32 complex | 80 complex | 2 |
32 SPFP | 32 SPFP | 32 SPFP | 8 |
X 操作数位宽为 1024 位,Z 操作数位宽为 256 位。就组件使用而言,以上表第一行为例。乘法器操作数来自相同的 1024 位和 256 位输入寄存器,但部分值广播至多个乘法器。其中包含 128 个 8 位单乘法器,结果均采用后加和累加方式添加到 16 或 8 条累加器通道内,每条通道位宽为 48 位。
要计算给定数据路径的最大性能,需要将每条指令的 MAC 数量乘以 AI 引擎内核的时钟频率。例如,对于 16 位输入矢量 X 和 Z,矢量处理器每条指令可执行 32 次 MAC 运算。使用速度等级最慢的器件的时钟频率即可得到:
32 次 MAC * 1 GHz 时钟频率 = 32 Giga 次 MAC 运算/秒