====== 概要 ======
高速フーリエ変換をおこなうライブラリFFTWのインストール方法です。
環境
* Ubuntu 22.04
====== ソースコードの入手 ======
以下のサイトから入手できます。
* [[http://www.fftw.org/|FFTW Home Page]]
記事執筆時点での最新版は3.3.10です。
====== インストール ======
入手したfftw-3.3.10.tar.gzをホーム・ディレクトリに置き、ターミナルで以下のように入力します。
以下は並列計算に対応したFFTWを使うときの例です。
$ tar -zxvf fftw-3.3.10.tar.gz
$ cd fftw-3.3.10
$ ./configure --prefix=/usr/local/fftw3 CC=icx MPICC=mpiicc F77=ifort --enable-mpi --enable-threads # Intelコンパイラの場合
$ ./configure --prefix=/usr/local/fftw3 CC=gcc MPICC=mpicc F77=gfortran --enable-mpi --enable-threads # GNUコンパイラの場合
$ make
$ sudo make install
以上で完成です。
ライブラリは /usr/local/fftw3/lib/ に、インクルードファイルは /usr/local/fftw3/include/ に設置されます。
===== configureのいろいろ =====
configureはデフォルトでいろいろ設定してくれますが、オプションをつけることで自分でも設定できます。
オプションは次のようにして確認できます。
$ ./configure --help
* --enable-threads ... メモリ共有型の並列計算を行いたいときに追加します
* --enable-openmp ... メモリ共有型の並列計算でOpenMPを使用したいときに追加します(通常は--enable-threadsのみで十分です)
* http://www.fftw.org/fftw3_doc/Installation-and-Supported-Hardware_002fSoftware.html
===== 古い情報 =====
* Ubuntu 18.04
入手したfftw-3.3.9.tar.gzをホーム・ディレクトリに置き、ターミナルで以下のように入力します。
以下は並列計算に対応したFFTWを使うときの例です。
$ tar -zxvf fftw-3.3.9.tar.gz
$ cd fftw-3.3.9
$ ./configure --prefix=/usr/local/fftw3 CC=icpc MPICC=mpiicc F77=ifort --enable-mpi --enable-threads # Intelコンパイラの場合
$ ./configure --prefix=/usr/local/fftw3 CC=gcc MPICC=mpicc F77=gfortran --enable-mpi --enable-threads # GNUコンパイラの場合
$ make
$ sudo make install
以上で完成です。
ライブラリは /usr/local/fftw3/lib/ に、インクルードファイルは /usr/local/fftw3/include/ に設置されます。
===== configureのいろいろ =====
configureはデフォルトでいろいろ設定してくれますが、オプションをつけることで自分でも設定できます。
オプションは次のようにして確認できます。
$ ./configure --help
* --enable-threads ... メモリ共有型の並列計算を行いたいときに追加します
* --enable-openmp ... メモリ共有型の並列計算でOpenMPを使用したいときに追加します(通常は--enable-threadsのみで十分です)
* http://www.fftw.org/fftw3_doc/Installation-and-Supported-Hardware_002fSoftware.html
===== もっと古い情報 =====
* Ubuntu 18.04
入手したfftw-3.3.8.tar.gzをホーム・ディレクトリに置き、ターミナルで以下のように入力します。
以下はMPIを使うときの例です。
$ tar -zxvf fftw-3.3.8.tar.gz
$ cd fftw-3.3.8
$ ./configure --prefix=/usr/local/fftw3 CC=icpc MPICC=mpiicc F77=ifort --enable-mpi --enable-threads CFLAGS="-D__PURE_INTEL_C99_HEADERS__" # Intelコンパイラの場合
$ ./configure --prefix=/usr/local/fftw3 CC=gcc MPICC=mpiicc F77=ifort --enable-mpi --enable-threads # Intelコンパイラでエラーが出る場合
$ ./configure --prefix=/usr/local/fftw3 CC=gcc MPICC=mpicc F77=gfortran --enable-mpi --enable-threads # GNUコンパイラの場合
$ make
$ sudo make install
以上で完成です。
* (Ubuntu 18.04 & Intel XE2019) icpcでコンパイルするとエラーが出るようになったので CC=gcc としてください)
ライブラリは /usr/local/fftw3/lib/ に、インクルードファイルは /usr/local/fftw3/include/ に設置されます。