2012-03-14 91 views
0

我目前正在使用Intel的MKL 2D FFT例程。某些條件下的Intel-MKL FFT性能

我遇到了性能改變了4-5倍的情況。

我正在做的是使用FFT庫實現一種帶通濾波器。測試結果是正確的,但速度是一個問題。

我所看到的大約是1.3秒的正向FFT和1.3到6秒的逆FFT。

我已經跟蹤到了這個FFT的正向傳遞後我應用的權重。 權重介於0和-1之間,當我獲得6秒時大多數爲0。 如果在應用時間爲1.3秒前將權重設置爲1。其他測試顯示這種行爲,而不使用權重1.

我的問題是我如何應用這些值導致這種減速?我可以理解執行時間的細微變化,但不是這種戲劇性的變化。

感謝, 吉姆ķ

我不知道這是否是特定於MKL版本FFT的或一般的問題。

回答

0

某些CPU可能需要更多的執行週期來執行使用下溢操作數的浮點算術運算,或者產生下溢結果。對於您的濾波器係數,您可以嘗試遠遠大於零的權重(相對於IEEE雙倍或浮動下溢數值附近的值),並且仍然有一個阻帶優於-120 dB的濾波器。試試看。

某些CPU和OS組合可能允許關閉下溢浮點運算或結果。這也可能有所幫助。