微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 OpenCL 从 CPU 内核读取缓冲区并将其复制到 FPGA 内核

如何解决使用 OpenCL 从 CPU 内核读取缓冲区并将其复制到 FPGA 内核

我正在尝试加速赛灵思 u50 FPGA 上的 Ethash 算法。我的问题不是关于 FPGA,而是关于在 cpu生成的传递 DAG 文件并将其发送到 FPGA。

首先我在测试中使用 this code。我做了一些更改以支持 Intel OpenCL 驱动程序。现在,如果我只使用 cpu 来运行 Ethash(或在本例中为 xleth)程序,则所有过程都已完成。但就我而言,我首先在 cpu生成 DAG 文件,并使用 4 核生成 0 号纪元需要 30 秒。之后我想将 DAG 文件(在显示 m_dag 的代码中)传递到一个类似于 g_dag 的新缓冲区来发送它在 u50 HBM 中。

我不能在这个程序中只使用一个上下文,因为我使用了 2 个分离的内核文件cpu 为 .cl,FPGA 为 .xclbin),当我尝试制作程序和内核时,它向我发送错误 33( CL_INVALID_DEVICE)。所以我创建了单独的上下文(名称为 g_context)。

现在我想知道如何将数据从 m_contex 发送到 g_context?是否可以并优化性能?(如果有,请给我发送另一个解决方案。)

我在 this link 中发送了我的代码,所以如果可以,请将代码解决方案发送给我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。