1FFTW-WISDOM(1)                       fftw                       FFTW-WISDOM(1)
2
3
4

NAME

6       fftw-wisdom - create wisdom (pre-optimized FFTs)
7

SYNOPSIS

9       fftw-wisdom [OPTION]... [SIZE]...
10

DESCRIPTION

12       fftw-wisdom  is  a utility to generate FFTW wisdom files, which contain
13       saved information about how to optimally compute  (Fourier)  transforms
14       of  various  sizes.  FFTW is a free library to compute discrete Fourier
15       transforms in one or more dimensions, for arbitrary sizes, and of  both
16       real  and  complex data, among other related operations.  More informa‐
17       tion on FFTW can be found at the FFTW home page: http://www.fftw.org
18
19       Programs using FFTW can be written to load  wisdom  from  an  arbitrary
20       file,  string, or other source.  Moreover, it is likely that many FFTW-
21       using programs will load the system wisdom file,  which  is  stored  in
22       /etc/fftw/wisdom  by default.  fftw-wisdom can be used to create or add
23       to such wisdom files.  In its most typical usage, the wisdom  file  can
24       be created to pre-plan a canonical set of sizes (see below) via:
25
26                             fftw-wisdom -v -c -o wisdom
27
28       (this  will take many hours, which can be limited by the -t option) and
29       the output wisdom file can then be copied (as root)  to  /etc/fftw/  or
30       whatever.
31
32       The fftw-wisdom program normally writes the wisdom directly to standard
33       output, but this can be changed via the -o option, as  in  the  example
34       above.
35
36       If  the  system  wisdom  file  /etc/fftw/wisdom  already  exists,  then
37       fftw-wisdom reads this existing wisdom (unless the -n option is  speci‐
38       fied) and outputs both the old wisdom and any newly created wisdom.  In
39       this way, it can be used to add new transform  sizes  to  the  existing
40       system wisdom (or other wisdom file, with the -w option).
41

SPECIFYING SIZES

43       Although  a  canonical  set of sizes to optimize is specified by the -c
44       option, the user can also specify zero or more non-canonical  transform
45       sizes  and  types  to  optimize,  via  the SIZE arguments following the
46       option flags.  Alternatively, the sizes to optimize can  be  read  from
47       standard  input  (whitespace-separated),  if  a SIZE argument of "-" is
48       supplied.
49
50       Sizes are specified by the syntax:
51
52                        <type><inplace><direction><geometry>
53
54       <type> is either ´c´ (complex), ´r´ (real, r2c/c2r), or ´k´ (r2r,  per-
55       dimension kinds, specified in the geometry, below).
56
57       <inplace> is either ´i´ (in place) or ´o´ (out of place).
58
59       <direction> is either ´f´ (forward) or ´b´ (backward).  The <direction>
60       should be omitted for ´k´ transforms, where it  is  specified  via  the
61       geometry instead.
62
63       <geometry>  is the size and dimensionality of the transform, where dif‐
64       ferent dimensions are separated by ´x´ (e.g. ´16x32´ for  a  two-dimen‐
65       sional 16 by 32 transform).  In the case of ´k´ transforms, the size of
66       each dimension is followed by a "type" string,  which  can  be  one  of
67       f/b/h/e00/e01/e10/e11/o00/o01/o10/o11                               for
68       R2HC/HC2R/DHT/REDFT00/.../RODFT11, respectively, as defined in the FFTW
69       manual.
70
71       For example, ´cif12x13x14´ is a three-dimensional 12 by 13 x 14 complex
72       DFT operating in-place.  ´rob65536´  is  a  one-dimensional  size-65536
73       out-of-place complex-to-real (backwards) transform operating on Hermit‐
74       ian-symmetry input.  ´ki10hx20e01´ is a two-dimensional 10  by  20  r2r
75       transform  where  the first dimension is a DHT and the second dimension
76       is an REDFT01 (DCT-III).
77
78

OPTIONS

80       -h, --help
81              Display help on the command-line options and usage.
82
83       -V, --version
84              Print the version number and copyright information.
85
86       -v, --verbose
87              Verbose output.  (You can specify this multiple times, or supply
88              a  numeric  argument  greater  than 1, to increase the verbosity
89              level.)  Note that the verbose output will  be  mixed  with  the
90              wisdom output (making it impossible to import), unless you write
91              the wisdom to a file via the -o option.
92
93       -c, --canonical
94              Optimize/pre-plan a canonical set of sizes: all  powers  of  two
95              and  ten  up to 2^20 (1048576), including both real and complex,
96              forward and backwards,  in-place  and  out-of-place  transforms.
97              Also  includes  two-  and three-dimensional transforms of equal-
98              size dimensions (e.g. 16x16x16).
99
100       -t hours, --time-limit=hours
101              Stop after a time of hours (hours) has elapsed, outputting accu‐
102              mulated  wisdom.   (The problems are planned in increasing order
103              of size.)  Defaults to 0, indicating no time limit.
104
105       -o file, --output-file=file
106              Send wisdom output to file rather than to standard  output  (the
107              default).
108
109       -m, --measure; -e, --estimate; -x, --exhaustive
110              Normally,  fftw-wisdom  creates  plans in FFTW_PATIENT mode, but
111              with these options you can instead use FFTW_MEASURE,  FFTW_ESTI‐
112              MATE,  or  FFTW_EXHAUSTIVE  modes, respectively, as described in
113              more detail by the FFTW manual.
114
115              Note that wisdom is tagged with the planning patience level, and
116              a  single  file can mix different levels of wisdom (e.g. you can
117              mostly use the patient default, but plan a few  sizes  that  you
118              especially care about in --exhaustive mode).
119
120       -n, --no-system-wisdom
121              Do  not import the system wisdom from /etc/fftw/wisdom (which is
122              normally read by default).
123
124       -w file, --wisdom-file=file
125              Import wisdom from file  (in  addition  to  the  system  wisdom,
126              unless  -n is specified).  Multiple wisdom files can be read via
127              multiple -w options.  If file is  "-",  then  read  wisdom  from
128              standard input.
129
130       -T N, --threads=N
131              Plan  with  N  threads.  This option is only present if FFTW was
132              configured with thread support.
133

BUGS

135       Send bug reports to fftw@fftw.org.
136

AUTHORS

138       Written by Steven G. Johnson and Matteo Frigo.
139
140       Copyright (c) 2003, 2007-14 Matteo Frigo
141       Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
142

SEE ALSO

144       fftw-wisdom-to-conf(1)
145
146
147
148fftw                            February, 2003                  FFTW-WISDOM(1)
Impressum