Gcc FFTW中的智慧没有';进出口贸易

Gcc FFTW中的智慧没有';进出口贸易,gcc,fftw,Gcc,Fftw,我正在使用FFTW进行FFTs,虽然效果很好,但使用FFTW\u PATIENT标志进行优化需要很长时间。然而,根据,我可以通过在运行之间重用WITHIST来改进这一点,我可以将WITHIST导入并导出到文件中。(我使用的是浮点fftw例程,因此下面的fftwf_uu前缀代替了fftw_uu) 因此,在我的main() char wisdom_file[] = "optimise.fft"; fftwf_import_wisdom_from_filename(wisdom_file); 最后,

我正在使用FFTW进行FFTs,虽然效果很好,但使用
FFTW\u PATIENT
标志进行优化需要很长时间。然而,根据,我可以通过在运行之间重用WITHIST来改进这一点,我可以将WITHIST导入并导出到文件中。(我使用的是浮点fftw例程,因此下面的fftwf_uu前缀代替了fftw_uu)

因此,在我的
main()

char wisdom_file[] = "optimise.fft";
fftwf_import_wisdom_from_filename(wisdom_file);
最后,我有:

fftwf_export_wisdom_to_filename(wisdom_file);
(我还进行了错误检查,以检查返回值是否为非零,为简单起见省略了上述内容,因此我知道文件正在正确读取和写入)

运行一次之后,我得到一个文件
optimize.fft
,它看起来像是ASCII智能。但是,后续的运行不会更快,如果我仅使用
FFTW\u willigence\u
标志创建计划,我会得到一个空计划,表明它没有看到任何智慧

我使用了3种不同的FFT(2种实数到复数,1种反复数到实数),所以我也尝试了在每个FFT中导入/导出,并分离文件,但这没有帮助


我使用的是FFTW-3.3.3,我可以看到FFTW-2似乎需要更多的设置来重用智慧,但是上面的设置现在似乎已经足够了-我做错了什么?

我也尝试了
fftwf WITH-o~/wisdomf rof2048 rob2048
(这些是我需要的FFT的大小)然后导入生成的
wisdomf
或将其复制到
/etc/fftw
并使用
fftwf\u导入系统
,结果相同。该文件看起来有效,但fftw似乎没有使用其内容。我也处于类似的位置。如果你能解决这个问题,你是怎么做到的?@SgrA不幸的是我没有解决它。这是开发的中间阶段,最终版本不需要它,所以我只能忍受启动延迟。我希望你有更好的成功!