AI 引擎吞吐量和时延 - 2023.2 简体中文

Versal 自适应 SoC 系统和解决方案规划方法指南 (UG1504)

Document ID
UG1504
Release Date
2023-11-15
Version
2023.2 简体中文

大多数应用都期望能实现高吞吐量和低时延。Versal 自适应 SoC 可帮助您实现这一目标,有了 AI 引擎的帮助则更是如此。但通常应用对这两者之一具有更严格的要求,因此可能需要在高吞吐量与低时延之间做出取舍以满足其要求。

例如,对于 FIR 滤波器,可在 AI 引擎拼块 (tile) 内使用级联串流来将计算操作分为多个 AI 引擎拼块从而提升总体吞吐量。但这样可能就会导致 FIR 总体时延增大。如需了解更多信息,请参阅 滤波器链简单示例

出入 AI 引擎阵列以及围绕其移动的数据会直接造成系统时延增大,例如,为内核使用窗口或串流接口。根据窗口大小,在加载输入时,这可能导致额外延迟,因为 AI 引擎会等待整个窗口变为可用后再开始计算。如果采用串流解决方案,那么在传递数据时就会开始计算。串流接口对于高数据速率设计而言是公用的。但这可能导致需要借助额外的 PL 功能来对数据进行排序和对齐以便执行串流。如果采用窗口化解决方案,那么乒乓缓冲可帮助缓解时延增加的问题。

在 PL 与 AI 引擎阵列之间进行通信时,如果 PL 运行速度比 AI 引擎慢得多,则必须留意系统中是否存在额外时延。在此情况下,必须使用更宽的总线(32、64 或 128 位)来将输入传输到阵列中。这样就会造成整体系统时延增加,因为 AXI4‑StreamAI 引擎存储器与核之间的互连为 32 位,这导致增加 4 个周期并占用 128 位总线。

提示: 在 -1 器件内馈送 AI 引擎拼块并且此 AI 引擎运行速率为 1 GHz 时,使用 64 位 PLIO (500 MHz) 即可充分利用带宽。

为了在 PL 中进行数据处理,针对具有低时延要求的关键功能考虑采用 DSP 引擎和 PL 尤显重要。这样即可避免数据出入 AI 引擎阵列,因为当存在低时延要求时,此类数据可能占用大量资源。

另一个注意事项是,您希望采用何种方式来控制 AI 引擎阵列中的功能或应用。您是否会在运行时使用 PS 或 PL 来控制内核功能?PS 能否满足时延要求,或者您是否需要 PL 控制器?这些都是需要针对特定应用进行评估的重要因素。

欲知详情,请参阅以下文档:

注释: 如需了解有关 NoC 时延的信息,请访问此链接以参阅 Versal Adaptive SoC Programmable Network on Chip and Integrated Memory Controller LogiCORE IP 产品指南(PG313) 中的相应内容。