Difference between revisions of "FFTW"
Weibullguy (talk | contribs) (Added documentation.) |
m (renamend --with-openmp to --enable-openmp) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
− | | ftp://ftp.fftw.org/pub/fftw/fftw- | + | | ftp://ftp.fftw.org/pub/fftw/fftw-{{FFTW-Version}}.tar.gz |
|} | |} | ||
− | + | ---- | |
− | FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. The name, "FFTW," stands for "Fastest Fourier Transform in the West." FFTW was developed at MIT, which is in the east. | + | {{Package-Introduction|FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. The name, "FFTW," stands for "Fastest Fourier Transform in the West." FFTW was developed at MIT, which is in the east. [[DJBFFT]] is an alternative that claims to be faster.|http://www.fftw.org/}} |
+ | |||
+ | == Dependencies == | ||
+ | |||
+ | === Optional === | ||
+ | |||
+ | * [[Objective Caml]] | ||
+ | * [[OpenMPI]] is required if passing the <i>--enable-openmp:</i> switch to the configure script. | ||
+ | |||
+ | == Configuration Information == | ||
+ | |||
+ | Some options that you may wish to pass to the configure script. | ||
+ | |||
+ | {|style="text-align: left" | ||
+ | |-valign=top | ||
+ | |<i>--enable-single:</i> compile FFTW in single precision. | ||
+ | |-valign=top | ||
+ | |<i>--enable-long-double:</i> compile FFTW in long-double precision. | ||
+ | |-valign=top | ||
+ | |<i>--enable-k7:</i> enable AMD k7 optimizations, including 3dNow! | ||
+ | |-valign=top | ||
+ | |<i>--enable-sse:</i> enable SSE optimizations. | ||
+ | |-valign=top | ||
+ | |<i>--enable-sse2:</i> enable SSE2 optimizations. | ||
+ | |-valign=top | ||
+ | |<i>--disable-fortran:</i> don't include FORTRAN callable wrappers. | ||
+ | |-valign=top | ||
+ | |<i>--enable-openmp:</i> use OpenMP directives instead of a threads library. | ||
+ | |} | ||
+ | |||
+ | {{Note|The default is to build a double precision library. Generally one would build fftw three times; add the --enable-single and --enable-long-double options to the configuration for subsequent builds. This will result in libfft3, libfftw3f, and libfftw3l for single, double, and long-double libraries.}} | ||
== Non-Multilib == | == Non-Multilib == | ||
Line 13: | Line 43: | ||
Compile the package: | Compile the package: | ||
− | ./configure --prefix=/usr --enable-shared && | + | ./configure --prefix=/usr --enable-shared --enable-threads && |
make | make | ||
− | |||
− | |||
Install the package: | Install the package: | ||
make install | make install | ||
+ | |||
+ | Build and install the info pages for FFTW: | ||
+ | |||
+ | make install-info | ||
+ | |||
+ | Install the PDF documentation for FFTW: | ||
+ | |||
+ | install -v -m755 -d /usr/share/doc/FFTW-{{FFTW-Version}} && | ||
+ | cp -v doc/fftw3.pdf /usr/share/doc/FFTW-{{FFTW-Version}} | ||
+ | |||
+ | Install the html documentation for FFTW: | ||
+ | |||
+ | install -v -m755 -d /usr/share/doc/FFTW-{{FFTW-Version}}/html && | ||
+ | cp -v doc/html/*.html /usr/share/doc/FFTW-{{FFTW-Version}}/html | ||
== Multilib == | == Multilib == | ||
Line 29: | Line 71: | ||
CC="gcc ${BUILD32} -fPIC" CXX="g++ ${BUILD32} -fPIC" \ | CC="gcc ${BUILD32} -fPIC" CXX="g++ ${BUILD32} -fPIC" \ | ||
− | ./configure --prefix=/usr --enable-shared && | + | ./configure --prefix=/usr --enable-shared --enable-threads && |
make | make | ||
− | |||
− | |||
Install the package: | Install the package: | ||
Line 43: | Line 83: | ||
CC="gcc ${BUILDN32} -fPIC" CXX="g++ ${BUILDN32} -fPIC" \ | CC="gcc ${BUILDN32} -fPIC" CXX="g++ ${BUILDN32} -fPIC" \ | ||
− | ./configure --prefix=/usr --libdir=/usr/lib32 --enable-shared && | + | ./configure --prefix=/usr --libdir=/usr/lib32 --enable-shared --enable-threads && |
make | make | ||
− | |||
− | |||
Install the package | Install the package | ||
Line 57: | Line 95: | ||
CC="gcc ${BUILD64} -fPIC" CXX="g++ ${BUILD64} -fPIC" \ | CC="gcc ${BUILD64} -fPIC" CXX="g++ ${BUILD64} -fPIC" \ | ||
− | ./configure --prefix=/usr --libdir=/usr/lib64 --enable-shared && | + | ./configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --enable-threads && |
make | make | ||
− | |||
− | |||
Install the package: | Install the package: | ||
make install | make install | ||
− | |||
− | |||
Build and install the info pages for FFTW: | Build and install the info pages for FFTW: | ||
− | + | make install-info | |
Install the PDF documentation for FFTW: | Install the PDF documentation for FFTW: | ||
− | + | install -v -m755 -d /usr/share/doc/FFTW-{{FFTW-Version}} && | |
− | + | cp -v doc/fftw3.pdf /usr/share/doc/FFTW-{{FFTW-Version}} | |
Install the html documentation for FFTW: | Install the html documentation for FFTW: | ||
− | + | install -v -m755 -d /usr/share/doc/FFTW-{{FFTW-Version}}/html && | |
− | + | cp -v doc/html/*.html /usr/share/doc/FFTW-{{FFTW-Version}}/html | |
+ | |||
+ | = Contents = | ||
− | == | + | {|style="text-align: left" |
+ | |-valign="top" | ||
+ | !Installed Directories: | ||
+ | |None | ||
+ | |-valign="top" | ||
+ | !Installed Programs: | ||
+ | |fftwl-wisdom, fftw-wisdom-to-conf | ||
+ | |-valign="top" | ||
+ | !Installed Libraries: | ||
+ | |libfftw3l.so, libfftw3l.la, libfftw3l.a | ||
+ | |-valign="top" | ||
+ | !Symlinks: | ||
+ | |None | ||
+ | |} | ||
− | + | == Short Description == | |
− | |||
− | === | + | {| style="text-align: left |
+ | |-valign="top" | ||
+ | !fftwl-wisdom: | ||
+ | |Creates wisdom (pre-planned/optimized transforms) for specified sizes, writing wisdom to stdout or file. | ||
+ | |-valign="top" | ||
+ | !fftw-wisdom-to-conf: | ||
+ | |Converts wisdom (stdin) to C configuration routine (stdout). | ||
+ | |} | ||
− | + | [[Category:Science_Engineering]] | |
− |
Latest revision as of 06:08, 3 November 2010
Download Source: | ftp://ftp.fftw.org/pub/fftw/fftw-3.2.2.tar.gz |
---|
Contents
Introduction to FFTW
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. The name, "FFTW," stands for "Fastest Fourier Transform in the West." FFTW was developed at MIT, which is in the east. DJBFFT is an alternative that claims to be faster.
Project Homepage: http://www.fftw.org/
Dependencies
Optional
- Objective Caml
- OpenMPI is required if passing the --enable-openmp: switch to the configure script.
Configuration Information
Some options that you may wish to pass to the configure script.
--enable-single: compile FFTW in single precision. |
--enable-long-double: compile FFTW in long-double precision. |
--enable-k7: enable AMD k7 optimizations, including 3dNow! |
--enable-sse: enable SSE optimizations. |
--enable-sse2: enable SSE2 optimizations. |
--disable-fortran: don't include FORTRAN callable wrappers. |
--enable-openmp: use OpenMP directives instead of a threads library. |
Non-Multilib
Compile the package:
./configure --prefix=/usr --enable-shared --enable-threads && make
Install the package:
make install
Build and install the info pages for FFTW:
make install-info
Install the PDF documentation for FFTW:
install -v -m755 -d /usr/share/doc/FFTW-3.2.2 && cp -v doc/fftw3.pdf /usr/share/doc/FFTW-3.2.2
Install the html documentation for FFTW:
install -v -m755 -d /usr/share/doc/FFTW-3.2.2/html && cp -v doc/html/*.html /usr/share/doc/FFTW-3.2.2/html
Multilib
32Bit
Compile the package:
CC="gcc ${BUILD32} -fPIC" CXX="g++ ${BUILD32} -fPIC" \ ./configure --prefix=/usr --enable-shared --enable-threads && make
Install the package:
make install
N32
Compile the package:
CC="gcc ${BUILDN32} -fPIC" CXX="g++ ${BUILDN32} -fPIC" \ ./configure --prefix=/usr --libdir=/usr/lib32 --enable-shared --enable-threads && make
Install the package
make install
64Bit
Compile the package:
CC="gcc ${BUILD64} -fPIC" CXX="g++ ${BUILD64} -fPIC" \ ./configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --enable-threads && make
Install the package:
make install
Build and install the info pages for FFTW:
make install-info
Install the PDF documentation for FFTW:
install -v -m755 -d /usr/share/doc/FFTW-3.2.2 && cp -v doc/fftw3.pdf /usr/share/doc/FFTW-3.2.2
Install the html documentation for FFTW:
install -v -m755 -d /usr/share/doc/FFTW-3.2.2/html && cp -v doc/html/*.html /usr/share/doc/FFTW-3.2.2/html
Contents
Installed Directories: | None |
---|---|
Installed Programs: | fftwl-wisdom, fftw-wisdom-to-conf |
Installed Libraries: | libfftw3l.so, libfftw3l.la, libfftw3l.a |
Symlinks: | None |
Short Description
fftwl-wisdom: | Creates wisdom (pre-planned/optimized transforms) for specified sizes, writing wisdom to stdout or file. |
---|---|
fftw-wisdom-to-conf: | Converts wisdom (stdin) to C configuration routine (stdout). |