2

私はFFTにFFTWを使用しています。すべてうまく機能していますが、FFTW_PATIENTフラグを使用して最適化に長い時間がかかります。ただし、FFTWのドキュメントによると、ファイルにインポートおよびエクスポートできる実行間の知恵を再利用することで、これを改善できます。(私は浮動小数点fftwルーチンを使用しているので、fftw_の代わりに以下のfftwf_プレフィックスを使用しています)

だから、私の始めにmain()、私は持っています:

char wisdom_file[] = "optimise.fft";
fftwf_import_wisdom_from_filename(wisdom_file);

そして最後に、私は持っています:

fftwf_export_wisdom_to_filename(wisdom_file);

(リターンがゼロ以外であることを確認するためのエラーチェックもあります。上記の簡単さのために省略されているため、ファイルが正しく読み取りおよび書き込みされていることがわかります)

optimise.fft1回実行すると、 ASCIIの知恵のように見えるファイルが表示されます。ただし、その後の実行はこれ以上速くなりません。FFTW_WISDOM_ONLYフラグを使用してプランを作成すると、nullプランが表示され、そこに知恵がないことが示されます。

私は3つの異なるFFT(2つは実数から複素数、1つは逆複素数から実数)を使用しているので、各FFTでインポート/エクスポートを試し、ファイルを分離しましたが、それは役に立ちません。

私はFFTW-3.3.3を使用していますが、FFTW-2は知恵を再利用するためにさらに設定が必要なようですが、今は上記で十分なようです-何が間違っているのでしょうか?

4

0 に答える 0