Vitis 技术中支持的加速卡可提供一个、两个或四个 DDR 存储体和最大 80 GB/s 原始 DDR 带宽。对于在 FPGA 和 DDR 之间传输大量数据的内核,赛灵思推荐您引导 Vitis 编译器和运行库使用多个 DDR 存储体。
除了 DDR 存储体,主机应用可访问 PLRAM 来将数据直接传输到内核。该功能是使用 connnectivity.sp
选项启用的,该选项包含在通过 v++ --config
选项指定的配置文件中。请参阅 将内核端口映射到存储器 以获取有关实现此最优化的更多信息,另请参阅 存储器映射接口 以获取有关传输到全局存储体的数据传输的信息。
为了充分利用多个 DDR 存储体,您需要将 CL 存储缓冲器分配到主机代码中的不同存储体,并配置 xclbin 文件以便匹配 v++
命令行中的存储体分配。
以下模块框图显示了 GitHub 上的 Vitis 示例中的 全局存储器双存储体 (C) 示例。此示例将内核的输入指针接口连接到 DDR 存储体 0,并将输出指针接口连接到 DDR 存储体 1。
图 1. 全局存储器双存储体示例