我正在尝试运行此处找到的卤化物 FFT 实现,以针对 FTTW 进行基准测试。我能够按原样运行实现,但是在深入挖掘时遇到了一些问题。该例程因 H 和 W 的不同值(随机输入图像的高度和宽度)出现错误而失败。例如,我在 H=W=5 时收到以下错误:
Error at ./fft.cpp:603:
Cannot vectorize dimension n0 of function v_S1_R5$6 because the function is scheduled inline.
Aborted (core dumped)
我一直在尝试在小图像尺寸(即 5x5)上进行测试以比较算法的结果,但是对于小于 16 的任何值,我都无法完成算法,即使在这一点上也会检查值漫长的任务。FFT 对于大于 32 的值也会失败,似乎不适用于所有非 2 的幂。
有没有人遇到过这个问题?卤化物中是否还有其他适用于不同尺寸图像的 FFT 实现?
作为参考,我正在使用 gcc 4.8.3 在 RHEL7 上运行代码。