Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

fftwf-wisdom (1)


fftwf-wisdom - optimized FFTs)


fftwf-wisdom [OPTION]... [SIZE]...


FFTW-WISDOM(1)                       fftw                       FFTW-WISDOM(1)

       fftwf-wisdom - create wisdom (pre-optimized FFTs)

       fftwf-wisdom [OPTION]... [SIZE]...

       fftwf-wisdom  is a utility to generate FFTW wisdom files, which contain
       saved information about how to optimally compute  (Fourier)  transforms
       of  various  sizes.  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 informa-
       tion on FFTW can be found at the FFTW home page: http://www.fftw.org

       Programs using FFTW can be written to load  wisdom  from  an  arbitrary
       file,  string, or other source.  Moreover, it is likely that many FFTW-
       using programs will load the system wisdom file,  which  is  stored  in
       /etc/fftw/wisdomf  by  default.   fftwf-wisdom can be used to create or
       add to such wisdom files.  In its most typical usage, the  wisdom  file
       can be created to pre-plan a canonical set of sizes (see below) via:

                            fftwf-wisdom -v -c -o wisdomf

       (this  will take many hours, which can be limited by the -t option) and
       the output wisdomf file can then be copied (as root) to  /etc/fftw/  or

       The  fftwf-wisdom  program normally writes the wisdom directly to stan-
       dard output, but this can be changed via the -o option, as in the exam-
       ple above.

       If  the  system  wisdom  file  /etc/fftw/wisdomf  already  exists, then
       fftwf-wisdom reads this existing wisdom (unless the -n option is speci-
       fied) and outputs both the old wisdom and any newly created wisdom.  In
       this way, it can be used to add new transform  sizes  to  the  existing
       system wisdom (or other wisdom file, with the -w option).

       Although  a  canonical  set of sizes to optimize is specified by the -c
       option, the user can also specify zero or more non-canonical  transform
       sizes  and  types  to  optimize,  via  the SIZE arguments following the
       option flags.  Alternatively, the sizes to optimize can  be  read  from
       standard  input  (whitespace-separated),  if  a SIZE argument of "-" is

       Sizes are specified by the syntax:


       <type> is either 'c' (complex), 'r' (real, r2c/c2r), or 'k' (r2r,  per-
       dimension kinds, specified in the geometry, below).

       <inplace> is either 'i' (in place) or 'o' (out of place).

       <direction> is either 'f' (forward) or 'b' (backward).  The <direction>
       should be omitted for 'k' transforms, where it  is  specified  via  the
       geometry instead.

       <geometry>  is the size and dimensionality of the transform, where dif-
       ferent dimensions are separated by 'x' (e.g. '16x32' for  a  two-dimen-
       sional 16 by 32 transform).  In the case of 'k' transforms, the size of
       each dimension is followed by a "type" string,  which  can  be  one  of
       f/b/h/e00/e01/e10/e11/o00/o01/o10/o11                               for
       R2HC/HC2R/DHT/REDFT00/.../RODFT11, respectively, as defined in the FFTW

       For example, 'cif12x13x14' is a three-dimensional 12 by 13 x 14 complex
       DFT operating in-place.  'rob65536'  is  a  one-dimensional  size-65536
       out-of-place complex-to-real (backwards) transform operating on Hermit-
       ian-symmetry input.  'ki10hx20e01' is a two-dimensional 10  by  20  r2r
       transform  where  the first dimension is a DHT and the second dimension
       is an REDFT01 (DCT-III).

       -h, --help
              Display help on the command-line options and usage.

       -V, --version
              Print the version number and copyright information.

       -v, --verbose
              Verbose output.  (You can specify this multiple times, or supply
              a  numeric  argument  greater  than 1, to increase the verbosity
              level.)  Note that the verbose output will  be  mixed  with  the
              wisdom output (making it impossible to import), unless you write
              the wisdom to a file via the -o option.

       -c, --canonical
              Optimize/pre-plan a canonical set of sizes: all  powers  of  two
              and  ten  up to 2^20 (1048576), including both real and complex,
              forward and backwards,  in-place  and  out-of-place  transforms.
              Also  includes  two-  and three-dimensional transforms of equal-
              size dimensions (e.g. 16x16x16).

       -t hours, --time-limit=hours
              Stop after a time of hours (hours) has elapsed, outputting accu-
              mulated  wisdom.   (The problems are planned in increasing order
              of size.)  Defaults to 0, indicating no time limit.

       -o file, --output-file=file
              Send wisdom output to file rather than to standard  output  (the

       -m, --measure; -e, --estimate; -x, --exhaustive
              Normally,  fftwf-wisdom  creates plans in FFTW_PATIENT mode, but
              with these options you can instead use FFTW_MEASURE,  FFTW_ESTI-
              MATE,  or  FFTW_EXHAUSTIVE  modes, respectively, as described in
              more detail by the FFTW manual.

              Note that wisdom is tagged with the planning patience level, and
              a  single  file can mix different levels of wisdom (e.g. you can
              mostly use the patient default, but plan a few  sizes  that  you
              especially care about in --exhaustive mode).

       -n, --no-system-wisdom
              Do not import the system wisdom from /etc/fftw/wisdomf (which is
              normally read by default).

       -w file, --wisdom-file=file
              Import wisdom from file  (in  addition  to  the  system  wisdom,
              unless  -n is specified).  Multiple wisdom files can be read via
              multiple -w options.  If file is  "-",  then  read  wisdom  from
              standard input.

       -T N, --threads=N
              Plan  with  N  threads.  This option is only present if FFTW was
              configured with thread support.

       Send bug reports to fftw@fftw.org.

       Written by Steven G. Johnson and Matteo Frigo.

       Copyright (c) 2003, 2007-14 Matteo Frigo
       Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology

       See attributes(7) for descriptions of the following attributes:

       |Availability   | library/fftw-3   |
       |Stability      | Uncommitted      |


       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://fftw.org/fftw-3.3.8.tar.gz.

       Further information about this software can be found on the open source
       community website at http://fftw.org.

fftw                            February, 2003                  FFTW-WISDOM(1)