管理fftw线程/非线程智慧

  • 本文关键字:线程 智慧 管理 fftw fftw
  • 更新时间 :
  • 英文 :


我正在使用FFTW的智慧功能来加速我的fft,它工作得很好。接下来,我想使用OMP启用FFTW线程,以在大型fft上实现额外的加速(我正在使用非常大(图像大小)对象的fft,所以我希望加速应该值得开销。

我不确定如何处理智慧。FFTW文档说明了:"if you save wisdom from a program using the multi-threaded FFTW, that wisdom cannot be used by a program using only the single-threaded FFTW",但是它没有说任何关于如何在同一个系统上管理线程和非线程智慧的事情,并且系统上的一些其他程序(实际上是我正在处理的程序的一些其他部分)可能使用单线程FFTW计划,因此有可能最终使用线程和非线程计划的智慧。

我是否需要做任何事情来管理这一点,例如确保线程和非线程智慧文件保持分开,或者我可以只是将所有内容保存到单个智慧文件,并假设FFTW将为线程和非线程fft本身管理适当的智慧?

在一个类似的注意事项,它是安全的混合fftw和fftwf(和,我猜,fftwq)智慧在同一个文件中还是应该分开?行条目分别以fftw_和fftwf_开头,所以看起来应该没问题,但我很乐意确认。

您可以简单地将不同的文件名传递给fftw_export_wisdom_to_filename()fftw_import_wisdom_from_filename(),这取决于您是否使用多线程。这样你就把智慧分开了。这是我过去处理这个问题的方法。保存和加载智慧到同一文件将无法正常工作。

最新更新