通常、オリジナルの FFTW ライブラリーの代わりに FFTW3 ラッパーを使用してアプリケーションをビルドする場合、リンク段階でインテル® マス・カーネル・ライブラリー (インテル® MKL) を追加するだけで済みます (『インテル® MKL ユーザーズガイド』の「アプリケーションとインテル® マス・カーネル・ライブラリーのリンク」セクションを参照)
アプリケーションを再コンパイルする際、FFTW3 バージョンとの競合を回避するため、ヘッダーファイルの検索パスにサブディレクトリー include\fftw を追加します。
場合によっては、次の推奨事項に従ってアプリケーションを変更する必要があります。
-
アプリケーションには次のファイルをインクルードする必要があります。
#include “fftw3.h”
これは、すでにインクルードされているかもしれません。
-
アプリケーションに次のファイルをインクルードする必要はありません。
#include “mkl_dfti.h”
-
アプリケーションに次のファイルをインクルードする必要はありません。
#include “fftw3_mkl.h”
これは、MKL_RODFT00 定数を使用する場合のみ必要です。
-
インテル® MKL への FFTW3 ラッパーは、FFTW3 の全機能を提供するわけではないため、プラン生成関数から返されるプランが NULL かどうかアプリケーションがチェックしていない場合、このチェックを実装する必要があります。
-
オリジナルの FFTW3 関数とは違い、ラッパーの実行関数はスレッドセーフではないため、マルチスレッド・アプリケーションの場合、共有プランには注意が必要です。fftw3_mkl.number_of_user_threads の設定に関する注意事項 (http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/cpp/win/mkl/refman/appendices/mkl_appG_FFTW3_Using_Wrappers.html#SetThreadsNumber) を参照してください。