【发布时间】:2015-05-09 05:40:48
【问题描述】:
正如标题所述,我正在尝试将存储在列表中的具有不同偏移量的相同图像添加到累积图像中。
当前的实现在 CPU 上执行此操作,并且使用一些内在函数可以非常快。
但是,对于较大的图像 (2048x2048) 和列表中的许多偏移量 (~10000),性能并不令人满意。
我的问题是,不同偏移量的图像的累积能否在GPU上高效实现?
【问题讨论】:
-
简短的回答是可以。在 GPU 上,可以并行执行不同目标像素的求和(当然不是全部 400 万,但比在 CPU 上要多得多)。确切的方式当然取决于您选择 cuda、opencl、opengl 还是其他什么。所有这些都可以完成。如果精度是您的应用程序的关键,请注意双精度远比主流 gpu 上的单精度慢。如果您使用单精度,您可能还希望对每个像素使用 Kahan 求和算法以最小化,尤其是在您的数据具有高动态范围的情况下。
标签: image-processing gpu gpgpu