AI 引擎/PL 与 AI 引擎/NoC 接口之间的性能比较 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

AI 引擎阵列接口由 PL 与 NoC 接口 tile(拼块)组成。AI 引擎阵列接口拼块负责管理以下两个高性能接口。

  • AI 引擎到 PL
  • AI 引擎到 NoC

下图显示了 AI 引擎阵列接口结构。

图 1. AI 引擎阵列接口拓扑结构

每个 AI 引擎到 PL 接口拼块均包含 8 条从 PL 到 AI 引擎的串流和 6 条从 AI 引擎到 PL 的串流。下表中显示了一个 AI 引擎到 PL 接口拼块的容量。

表 1. AI 引擎阵列接口到 PL 接口带宽性能
连接类型 连接数 数据宽度(位) 时钟域 每条连接的带宽 (GB/s) 聚合带宽 (GB/s)
PL 到 AI 引擎阵列接口 8 64 PL

(500 MHz)

4 32
AI 引擎阵列接口到 PL 6 64 PL

(500 MHz)

4 24
注释: 例如,本节中的所有带宽计算都假定如下:对于 -1L 速度等级的器件,采用标称 1 GHz AI 引擎时钟,VCCINT = 0.70V,PL 接口运行频率为 AI 引擎的一半。

PL 和 NoC 接口拼块的精确数量因器件而异。例如,在 VC1902 器件中,有 50 列 AI 引擎阵列接口拼块。但仅有 39 个阵列接口拼块可用于 PL 接口。因此,PL 接口的聚合带宽约为:

  • 24 GB/s * 39 = 0.936 TB/s(从 AI 引擎到 PL)
  • 32 GB/s * 39 = 1.248 TB/s(从 PL 到 AI 引擎

Versal AI Core 系列数据手册:DC 和 AC 开关特性(DS957) 中指定了在其它不同速度等级的器件上,可用于 PL 接口的阵列接口拼块数量以及 AI 引擎到 PL 接口的总带宽。

input_gmio/output_gmio 属性在 AI 引擎到 NoC 接口拼块中使用 DMA。DMA 具有源自 AI 引擎的 2 条 32 位传入串流和 2 条进入 AI 引擎的 32 位串流。此外,它还有 1 个 128 位 AXI 存储器映射主接口,对接到 NoC NMU。下表中显示了一个 AI 引擎到 NoC 接口拼块的性能。

表 2. AI 引擎到 NoC 接口拼块带宽性能
连接类型 连接数 每条连接的带宽 (GB/s) 聚合带宽 (GB/s)
AI 引擎到 DMA 2 4 8
DMA 到 NoC 1 16 16
DMA 到 AI 引擎 2 4 8
NoC 到 DMA 1 16 16

AI 引擎到 NoC 接口拼块的精确数量因器件而异。例如,在 VC1902 器件中,有 16 个 AI 引擎到 NoC 接口拼块。因此,NoC 接口的聚合带宽约为:

  • 8 GB/s * 16 = 128 GB/s(从 AI 引擎到 PL)
  • 8 GB/s * 16 = 128 GB/s(从 PL 到 AI 引擎

访问 DDR 存储器时,平台中的集成 DDR 存储器控制器 (DDRMC) 数量会限制 DDR 存储器的读写性能。例如,如果在 VC1902 器件中全部 4 个 DDRMC 都已被使用,那么访问 DDR 存储器的硬性限制如下。

  • 3200 Mb/s * 64 bit * 4 DDRMCs / 8 = 102.4 GB/s

水平和垂直 NoC、NoC 间配置和 QoS 中的 NoC 通道数量也会进一步限制通过 NoC 访问 DDR 存储器的 input_gmio/output_gmio 的性能。请注意,访问模式和其它开销也会显著影响 DDR 存储器读写效率。如需了解有关 NoC、存储器控制器使用以及性能数值的更多信息,请参阅 Versal ACAP Programmable Network on Chip and Integrated Memory Controller LogiCORE IP 产品指南(PG313)

对于源自 AI 引擎或进入 AI 引擎的单一连接,input_plio/output_plioinput_gmio/output_gmio 都具有硬性带宽限制:4 GB/s。下表显示了选择 input_plio/output_plioinput_gmio/output_gmio 的部分优势和劣势。

表 3. input_plio/output_plio 对比 input_gmio/output_gmio
  input_plio/output_plio input_gmio/output_gmio
优势
  • AI 引擎到 PL 接口串流的数量更大,因此聚合带宽更大
  • 不同串流连接之间无干扰
  • 支持包切换
  • 无需 PL 资源
  • 无时序收敛要求
缺点
  • 如果某一器件区域内的串流连接过多,可能存在拥塞风险
  • 需满足时序收敛才能达成最佳性能
  • 可用 input_gmio/output_gmio 端口数更少
  • 聚合带宽更低
  • 有多个 input_gmio/output_gmio 端口争用带宽