完成内核边界 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

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

如前所述,可以通过创建多个内核实例(计算单元)来提高性能。但是,添加 CU 存在 I/O 端口、带宽和资源方面的成本。

Vitis 软件平台流程中,内核端口最大位宽为 512 位(64 个字节),并存在器件资源方面的固定成本。最重要的是,目标平台给可供使用的端口最大数量设置了限制。请谨记这些限制,并以最佳方式使用这些端口及其带宽。

利用多个计算单元进行缩放的另一种方法是通过在内核内部添加多个引擎来进行缩放。这种方法能够以添加更多 CU 相同的方式来提升性能:即,由内核内部的不同引擎来并发处理多个数据集。

将多个引擎置于相同内核内部能够充分利用内核的 I/O 端口的带宽。如果数据路径引擎不需要端口的完整带宽,那么在内核引擎内部添加更多引擎比创建多个含单一引擎的 CU 更有效。

将多个引擎置于单个内核中还能够减少连接到全局存储器的需仲裁的端口数量和传输事务数量,从而提升有效带宽。

另一方面,这种变换需要对内核内部的显式 I/O 多路复用行为进行编码。这是开发者需要做出的妥协。