在我的程序运行之间,我得到的结果略有不同。它使用带有标志的多线程 FFTW FFTW_ESTIMATE
。多线程 FFTW 是确定性的:
- 对于固定数量的线程?
- 在不同运行中使用的不同数量的线程之间?
FFTW faq 说,该FFTW_ESTIMATE
标志导致运行之间使用相同的算法,但它没有明确说明它在多线程情况下是确定性的。
在我的程序运行之间,我得到的结果略有不同。它使用带有标志的多线程 FFTW FFTW_ESTIMATE
。多线程 FFTW 是确定性的:
FFTW faq 说,该FFTW_ESTIMATE
标志导致运行之间使用相同的算法,但它没有明确说明它在多线程情况下是确定性的。
fftw 文档:
http://www.fftw.org/fftw3_doc/Thread-safety.html#Thread-safety
规定只有fftw_execute
可重入。因此,如果没有有关您的使用情况的更多信息,很难说。还:
“如果您使用 --enable-debug 或 --enable-debug-malloc 标志配置了 FFTW(请参阅 Unix 上的安装),那么 fftw_execute 不是线程安全的。这些标志没有记录,因为它们仅用于开发和“