The reason to do this is that, if you only need transforms of a limited set of sizes and types, and if you are statically linking your program, then using a configuration file generated from wisdom for those types can substantially reduce the size of your executable. (Otherwise, because of FFTW's dynamic nature, all of FFTW's transform code must be linked into any program using FFTW.)
FFTW is a free library to compute discrete Fourier transforms in one or more dimensions, for arbitrary sizes, and of both real and complex data, among other related operations. More information on FFTW can be found at the FFTW home page: http://www.fftw.org
fftw-wisdom-to-conf reads wisdom from standard input and writes the configuration to standard output. It can easily be combined with the fftw-wisdom tool, for example:
fftw-wisdom -n -o wisdom cof1024 cob1024
fftw-wisdom-to-conf < wisdom > conf.c
will create a configuration "conf.c" containing only those parts of FFTW needed for the optimized complex forwards and backwards out-of-place transforms of size 1024 (also saving the wisdom itself in "wisdom").
Alternatively, you can run your actual program, export wisdom for all plans that were created (ideally in FFTW_PATIENT or FFTW_EXHAUSTIVE mode), use this as input for fftw-wisdom-to-conf, and then re-link your program with the resulting configuration routine.
Note that the configuration routine does not contain the wisdom, only the routines necessary to implement the wisdom, so your program should also import the wisdom in order to benefit from the pre-optimized plans.
- -h, --help
- Display help on the command-line options and usage.
- -V, --version
- Print the version number and copyright information.
Copyright (c) 2003, 2007-14 Matteo Frigo
Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology