器件上的缓冲器分配 - 2022.1 简体中文

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

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

默认情况下,当内核链接到平台时,来自所有内核的存储器接口都连接到单个默认的全局存储体。因此,每次在该全局存储体上只能有 1 个计算单元 (CU) 执行数据传输,这就限制了应用的总体性能。

如果器件仅包含 1 个全局存储体,那么这是唯一选项。但是,如果器件包含多个全局存储体,那么您可以通过在链接期间修改内核的存储器接口连接来自定义全局存储体连接。如需了解有关执行此操作的方法的详细信息,请参阅 将内核端口映射到存储器。针对不同内核或计算单元使用不同的独立存储体可以支持多个内核存储器接口进行数据并发读写,从而提升总体性能。

重要: XRT 必须检测内核的存储器连接,以将数据从主机程序发送到内核中正确的存储器位置。如果在缓冲器上执行任何入队操作(例如,clEnqueueMigrateMemObject)之前使用了 clSetKernelArgs,那么 XRT 将从内核二进制文件中自动查找缓冲器位置。