我已经成功地编写了一些CUDA FFT代码,用于对图像进行2D卷积以及其他一些计算。如何管理cuda中的大型二维FFT
我该如何去弄清楚我能运行的最大的FFT是什么?看起来,2D R2C卷积计划需要2倍的图像尺寸,而另外2倍的图像尺寸则适用于C2R。这似乎是一个很大的开销!
另外,它似乎是大多数的基准测试,这些是相对较小的FFTs ..这是什么?对于大型图像来说,我将很快耗尽内存。这通常如何处理?你可以在图像的一个图块上执行FFT卷积并合并这些结果,并且期望它与在整个图像上运行二维FFT相同吗?
谢谢回答这些问题
2问题的力量是只有当它是100%最佳运行正确?我一直在运行的图像大小是可变的,似乎比运行在16核心盒子上的相同算法的matlab版本运行得更快 – Derek 2011-05-13 16:57:14
@Derek,显然有FFT算法不会强加这种限制。自从我看了这些东西以来,这已经很长时间了。 http://en.wikipedia.org/wiki/Fft – 2011-05-13 17:45:22
耶 - 我想我的主要问题与GPU中不适合的大型FFT有关,以及如何解决问题 – Derek 2011-05-13 19:08:10