| [サイトマップへ] |
FFTW とは, 離散フーリエ変換 (DFT) を行う C のプログラム集.1次元に限らず,より高次元でも動きます. この Web ページでは,Windows での FFTW バージョン 3 (FFTW3) のインストール法を図解で説明します.
※ Linux での FFTW3 のビルドとインストールについては, 別のWebページで説明します.
Cygwin のセットアッププログラム setup.exe を使って, FFTW バージョン 3 (FFTW3) をソースプログラムからコンパイルするのに必要となる他のソフトウエアをインストールします.簡単にインストールできます.
下記のパッケージを選ぶ.
「keep」になっている場合には,インストール済みなので,keep のままでよい.
下の図のようにチェック
※ Cygwin に慣れている人は,Cygwin のミラーサイトから,直接ソースコード(とパッチファイル)をダウンロードすることにも慣れているでしょう.その手順でも,もちろんよい.
以下の操作は,Cygwin のコンソールで行う.
cd /tmp tar -xvzof /usr/src/fftw-3.2.2.tar.gz
※ ファイルが無いよ,というときは,Cygwin のセットアッププログラムの実行のときに, Math/libfftw3-devel の「Src」のチェックを忘れていたということなので, もう一度,Cygwin のセットアッププログラムの実行を繰り返す.
cd /tmp patch -p1 < /usr/src/fftw3-3.2-1.src.patch patch -p1 < /usr/src/fftw3-3.2-1.cygwin.patch
Cygwin のコンソール で次の操作を行う.
cd /tmp cd fftw-3.2.2 CC="gcc-4 -m32 -mthreads -O3 -fno-tree-vectorize " F77="gfortran-4 m32 -mthreads -O3 -fno-tree-vectorize" CXX="g++-4 -m32 -mthreads -O3 -fno-tree-vectorize" CPP=cpp-4 ./configure --prefix=/usr --enable-threads --enable-shared --disable-static --with-windows-f77-mangling
必ず,エラーメッセージが出ていないことを確認する.
Cygwin のコンソール で次の操作を行う.
make
必ず,エラーメッセージが出ていないことを確認する.
「make check」を使うと,チェック用プログラムが動き,自動的にチェックしてくれます.
make install
エラーメッセージが出ていないことを確認しておく.
■ 目的
Cygwin のパッケージにある FFTW3 と,上で苦労してビルドした FFTW3 の比較.
■ ハードウエアとソフトウエア
■ 性能測定に使ったプログラム
x = rand(1,2^24); length(x) tic(); fft(x); toc()
■ お断り
本来,性能値は,マシンの種類.ソフトウエアのバージョン,コンパイル時のオプションなどで大きく変わる値です. ここで示す性能値は,他のプロセスをとめるなどしていません. あくまでも「参考値」ということでご理解ください.ここの性能値を鵜呑みにしないで下さい.
■ 実測値の例
結論:「この Web ページの手順でビルドした FFTW3」の方が遅い,ということにはなっていないので,とりあえず安心. 性能差があるようにも見えるが,他のプロセスをとめるなどしていないし,一種の「誤差」である可能性が高い,
上記の簡単なプログラムで見る限りは,Cygwin で,FFTW3 の最新バージョンを追いかけたい(Cygwin のパッケージ化を待っていられない)というようなときには, この Web ページの手順が役立つかも知れない, あるいは,UNIX (Linux など)で FFTW3 をビルドしたいというときにも, この Web ページの手順が役立つかも知れない,と考えても妥当であろう.