我正在从事一个处理大型图像处理(每张图像 50Mo)的工业项目,关键是性能。
我选择在JavaCL的帮助下将图像处理委托给 GPU 。我编写了一些测试以确定该方法是否正确。结果一目了然!
超过 100 次图像着色 GPU 获胜: GPU=172ms vs. CPU=438ms
目前,很明显 GPU 在这种计算方面比 CPU 更强大,但是!有问题,内存有问题。事实上,我的显卡有 256Mo 的 VRam,无法分配大于 8Mo 的图像!
所以,我的问题是,处理大于 8Mo 的图像的最佳方法是什么?
- 平铺图像并处理每个平铺?由于 RAM 和 VRAM 之间的延迟,将成为性能杀手
- 将原始像素提取为 float4 向量并将它们发送到 GPU ?
- 换我的显卡?
- 扔项目?
- 多喝咖啡?
提前感谢所有人:-)