1

我阅读了使用多种 CPU 完成的 fftw 基准测试。但是,测量的单位是 MFLOPS,向量维度从小到大变化。我想知道执行单个反向或常规 fft 的微秒或毫秒。

如何将 MFLOPS 转换为秒?

4

1 回答 1

0

如 FFTW 的基准方法页面所述:

为了报告 FFT 性能,我们绘制了每个 FFT 的“mflops”,这是速度的缩放版本,定义为:

   mflops = 5 N log2(N) /(一次 FFT 的时间,以微秒为单位)用于复杂变换,
   mflops = 2.5 N log2(N) /(一次 FFT 的时间,以微秒为单位)用于实数变换

例如,如果我们查看“1.06 GHz PowerPC 7447A,MacOSX”案例的原始数据文件,第一个条目是

arprec dcif 4 27.09 1.4765625e-06 9.5e-05 

这是用于双精度复杂变换(查看dcif标识符的前两个字母)N=4mflops=27.09。测量的最小平均执行时间是:

5 * 4 * log2(4) / 27.09 = 1.4765 microseconds

请注意,这与该条目中也显示的 1.4765625e-06 执行时间一致。

于 2019-03-22T21:29:24.710 回答