我的程序运行之间的结果略有不同。它使用带有FFTW_ESTIMATE
标志的多线程FFTW。多线程FFTW是否确定性:
FFTW faq说,FFTW_ESTIMATE
标志导致运行之间使用相同的算法,但它没有明确说明它在多线程情况下是确定性的。
答案 0 :(得分:1)
fftw文档:
http://www.fftw.org/fftw3_doc/Thread-safety.html#Thread-safety
规定只有fftw_execute
是可重入的。如果没有关于您的使用情况的更多信息,很难说。也:
“如果使用--enable-debug或--enable-debug-malloc标志配置FFTW(请参阅Unix上的安装),则fftw_execute不是线程安全的。这些标志没有记录,因为它们仅用于用于开发和调试FFTW,但是如果必须使用--enable-debug,那么你还应该专门为fftw_execute传递--disable-debug-malloc以保证线程安全。“