我目前正在使用英特尔的 MKL 2D FFT 例程。
我遇到了性能变化 4-5 倍的情况。
我正在做的是使用 FFT 库实现一种带通滤波器。测试结果是正确的,但速度是个问题。
我看到的是正向 FFT 大约 1.3 秒,反向 FFT 大约 1.3 到 6 秒。
我已经将此追踪到我在 FFT 前向传递后应用的权重。权重在 0 到 -1 之间,当我得到 6 秒时,大部分为 0。如果我在应用之前将权重设置为 1,则时间为 1.3 秒。其他测试在不使用权重 1 的情况下显示了这种行为。
我的问题是我应用的价值观如何导致这种放缓?我可以理解执行时间的微小变化,但不能理解这种戏剧性的变化。
谢谢,吉姆K
我不知道这是特定于 FFT 的 MKL 版本还是一般问题。