FFTW FAQ - Section 3
Internals of FFTW


Question 3.1. How does FFTW work?

The innovation (if it can be so called) in FFTW consists in having an interpreter execute the transform. The program for the interpreter (the plan) is computed at runtime according to the characteristics of your machine/compiler. This peculiar software architecture allows FFTW to adapt itself to almost any machine.

For more details, see the paper "The Fastest Fourier Transform in the West", by M. Frigo and S. J. Johnson, available at the FFTW web page.

Question 3.2. Why is FFTW so fast?

This is a complex question, and there is no simple answer. In fact, the authors do not fully know the answer, either. Generally speaking, there are three reasons for FFTW's speed. For more details on these three topics, see the paper "The Fastest Fourier Transform in the West", by M. Frigo and S. J. Johnson, available at the FFTW web page.

Question 3.3. What is this wisdom thing?

wisdom is the name of the mechanism that FFTW uses to save and restore plans. Rather than just saving plans, FFTW remembers what it learns about your machine, and becomes wiser and wiser as time passes by. You can save wisdom for later use.

Question 3.4. Why do you use wisdom? I just wanted to save a plan.

wisdom could be implemented with less effort than a general plan-saving mechanism would have required. In addition, wisdom provides additional benefits. For example, if you are planning transforms of size 1024, and later you want a transform of size 2048, most of the calculations of the 1024 case can be reused.

In short, wisdom does more things with less effort, and seemed like The Right Thing to do.

Question 3.5. Why are there so many ways to import/export wisdom?

We cannot anticipate all possible uses of FFTW. FFTW's wisdom could be stored in a file, or in a X-Windows resource, or hardwired in a binary file as a string constant, etc. We provided a general mechanism for importing/exporting wisdom, and provided shortcuts for what we think are the common cases.
Next: Known bugs.
Back: Installation and use of FFTW.
Return to contents.

Matteo Frigo and Steven G. Johnson / fftw@theory.lcs.mit.edu - 08 September 1997

Extracted from FFTW Frequently Asked Questions with Answers, Copyright © 1997 Massachusetts Institute of Technology.