在F1内核上并行运行后处理主机代码。

0

【以下的问题经过翻译处理】 大家好,

我有一个需要对F1上运行的一个内核输出数据进行严格后处理的应用程序。

通过将需要处理的数据分块,我想在与内核中并行运行主机后处理代码(即当内核正在处理块k时,主机后处理代码正在处理块k-1)。

我已经尝试按照overlap_c示例来实现这一点,但从代码中插入的计时器中只看到后处理代码的串行操作(尽管IO与内核执行重叠)。

有人可以提供一个示例吗?因为这必须是一个常见的问题。

另外,我可以将后处理代码编写为(软件)OpenCL内核。在Vitis中,我可以运行硬件内核(在F1上)和软件内核(在vCPUs上),并通过流进行内核通信吗?

profile picture
专家
已提问 5 个月前20 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

overlap_c示例展示了如何在主机和FPGA之间重叠多个请求。这在源代码的header中进行了解释:

https://github.com/Xilinx/Vitis_Accel_Examples/blob/master/host/overlap/src/host.cpp#L39

如果您想在主机和FPGA上重叠计算,最好查看这个实验:

https://github.com/Xilinx/SDAccel-AWS-F1-Developer-Labs/blob/master/modules/module_02/README.md

第二部分,第四步中,您将看到一个具体的示例。但我建议您从实验的开头开始阅读。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则