在 OpenCl 中对大型和许多缓冲区进行操作的最佳实践?

Best practice to operate on large and many buffers in OpenCl?

提问人:Paunescu Daniel 提问时间:11/11/2023 最后编辑:Paunescu Daniel 更新时间:11/11/2023 访问量:34

问:

我想知道考虑到设备的内存限制,使用 OpenCL 内核处理多个大型缓冲区会有哪些选项。

为了正确看待问题,假设这些缓冲区表示图像,就像 Photoshop,您将它们中的多个(以十个顺序)组合(以十个顺序)以获得单个图像。将所有这些数据推送到设备内存中无法很好地扩展。

我在想,也许一次向设备发送 2 个,进行计算,然后再进行一次计算,再进行一次计算。但是会有更聪明的解决方案吗?

编辑:假设我们正在谈论一个 10k X 10k 像素大的画布,每个通道使用 32 位浮点数。

谢谢!

内存 内核 缓冲区 opencl large-data

评论

0赞 Simon Goater 11/11/2023
即使是集成 GPU 通常也有 1GB+ 的 RAM 可供使用。对于任何分层图像来说,这应该足够了。
0赞 Paunescu Daniel 11/11/2023
如果画布是 10k X 10k 大,通道是 32 位浮点数,那么你最终每层超过 1 Gb

答: 暂无答案