Chris@82: Chris@82: Chris@82: Chris@82: Chris@82:
Chris@82:Chris@82: Previous: Cycle Counters, Up: Installation and Customization [Contents][Index]
Chris@82:The directory genfft
contains the programs that were used to
Chris@82: generate FFTW’s “codelets,” which are hard-coded transforms of small
Chris@82: sizes.
Chris@82:
Chris@82: We do not expect casual users to employ the generator, which is a rather
Chris@82: sophisticated program that generates directed acyclic graphs of FFT
Chris@82: algorithms and performs algebraic simplifications on them. It was
Chris@82: written in Objective Caml, a dialect of ML, which is available at
Chris@82: http://caml.inria.fr/ocaml/index.en.html.
Chris@82:
Chris@82:
If you have Objective Caml installed (along with recent versions of
Chris@82: GNU autoconf
, automake
, and libtool
), then you
Chris@82: can change the set of codelets that are generated or play with the
Chris@82: generation options. The set of generated codelets is specified by the
Chris@82: {dft,rdft}/{codelets,simd}/*/Makefile.am
files. For example, you can add
Chris@82: efficient REDFT codelets of small sizes by modifying
Chris@82: rdft/codelets/r2r/Makefile.am
.
Chris@82:
Chris@82: After you modify any Makefile.am
files, you can type sh
Chris@82: bootstrap.sh
in the top-level directory followed by make
to
Chris@82: re-generate the files.
Chris@82:
We do not provide more details about the code-generation process, since Chris@82: we do not expect that most users will need to generate their own code. Chris@82: However, feel free to contact us at fftw@fftw.org if Chris@82: you are interested in the subject. Chris@82:
Chris@82: Chris@82:You might find it interesting to learn Caml and/or some modern Chris@82: programming techniques that we used in the generator (including monadic Chris@82: programming), especially if you heard the rumor that Java and Chris@82: object-oriented programming are the latest advancement in the field. Chris@82: The internal operation of the codelet generator is described in the Chris@82: paper, “A Fast Fourier Transform Compiler,” by M. Frigo, which is Chris@82: available from the FFTW home page and also Chris@82: appeared in the Proceedings of the 1999 ACM SIGPLAN Conference on Chris@82: Programming Language Design and Implementation (PLDI). Chris@82:
Chris@82:Chris@82: Previous: Cycle Counters, Up: Installation and Customization [Contents][Index]
Chris@82: