annotate src/fftw-3.3.5/tools/fftwf-wisdom.1 @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 2cd0e3b3e1fd
children
rev   line source
Chris@42 1 .\"
Chris@42 2 .\" Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@42 3 .\" Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@42 4 .\"
Chris@42 5 .\" This program is free software; you can redistribute it and/or modify
Chris@42 6 .\" it under the terms of the GNU General Public License as published by
Chris@42 7 .\" the Free Software Foundation; either version 2 of the License, or
Chris@42 8 .\" (at your option) any later version.
Chris@42 9 .\"
Chris@42 10 .\" This program is distributed in the hope that it will be useful,
Chris@42 11 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@42 12 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@42 13 .\" GNU General Public License for more details.
Chris@42 14 .\"
Chris@42 15 .\" You should have received a copy of the GNU General Public License
Chris@42 16 .\" along with this program; if not, write to the Free Software
Chris@42 17 .\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Chris@42 18 .\"
Chris@42 19 .TH FFTW-WISDOM 1 "February, 2003" "fftw" "fftw"
Chris@42 20 .SH NAME
Chris@42 21 fftwf\-wisdom \- create wisdom (pre-optimized FFTs)
Chris@42 22 .SH SYNOPSIS
Chris@42 23 .B fftwf\-wisdom
Chris@42 24 [\fIOPTION\fR]... [\fISIZE\fR]...
Chris@42 25 .SH DESCRIPTION
Chris@42 26 .PP
Chris@42 27 .\" Add any additional description here
Chris@42 28 .I fftwf\-wisdom
Chris@42 29 is a utility to generate FFTW
Chris@42 30 .B wisdom
Chris@42 31 files, which contain saved information about how to optimally compute
Chris@42 32 (Fourier) transforms of various sizes. FFTW is a free library to
Chris@42 33 compute discrete Fourier transforms in one or more dimensions, for
Chris@42 34 arbitrary sizes, and of both real and complex data, among other
Chris@42 35 related operations. More information on FFTW can be found at the FFTW
Chris@42 36 home page:
Chris@42 37 .I http://www.fftw.org
Chris@42 38
Chris@42 39 Programs using FFTW can be written to load wisdom from an arbitrary file,
Chris@42 40 string, or other source. Moreover, it is likely that many FFTW-using
Chris@42 41 programs will load the \fBsystem wisdom\fR file, which is stored in
Chris@42 42 .I /etc/fftw/wisdomf
Chris@42 43 by default.
Chris@42 44 .I fftwf\-wisdom
Chris@42 45 can be used to create or add to such wisdom files. In its most
Chris@42 46 typical usage, the wisdom file can be created to pre-plan a canonical
Chris@42 47 set of sizes (see below) via:
Chris@42 48
Chris@42 49 .ce
Chris@42 50 fftwf\-wisdom \-v \-c \-o wisdomf
Chris@42 51
Chris@42 52 (this will take many hours, which can be limited by the
Chris@42 53 .B \-t
Chris@42 54 option) and the output
Chris@42 55 .I wisdomf
Chris@42 56 file can then be copied (as root) to
Chris@42 57 .I /etc/fftw/
Chris@42 58 or whatever.
Chris@42 59
Chris@42 60 The
Chris@42 61 .I fftwf\-wisdom
Chris@42 62 program normally writes the wisdom directly to standard output, but this
Chris@42 63 can be changed via the
Chris@42 64 .B \-o
Chris@42 65 option, as in the example above.
Chris@42 66
Chris@42 67 If the system wisdom file
Chris@42 68 .I /etc/fftw/wisdomf
Chris@42 69 already exists, then
Chris@42 70 .I fftwf\-wisdom
Chris@42 71 reads this existing wisdom (unless the
Chris@42 72 .B \-n
Chris@42 73 option is specified) and outputs both the old wisdom and any
Chris@42 74 newly created wisdom. In this way, it can be used to add new transform
Chris@42 75 sizes to the existing system wisdom (or other wisdom file, with the
Chris@42 76 .B \-w
Chris@42 77 option).
Chris@42 78 .SH SPECIFYING SIZES
Chris@42 79 Although a canonical set of sizes to optimize is specified by the
Chris@42 80 .B \-c
Chris@42 81 option, the user can also specify zero or more non-canonical transform
Chris@42 82 sizes and types to optimize, via the
Chris@42 83 .I SIZE
Chris@42 84 arguments following the option flags. Alternatively, the sizes to
Chris@42 85 optimize can be read from standard input (whitespace-separated), if a
Chris@42 86 .I SIZE
Chris@42 87 argument of "\-" is supplied.
Chris@42 88
Chris@42 89 Sizes are specified by the syntax:
Chris@42 90
Chris@42 91 .ce
Chris@42 92 <\fItype\fR><\fIinplace\fR><\fIdirection\fR><\fIgeometry\fR>
Chris@42 93
Chris@42 94 <\fItype\fR> is either \'c\' (complex), \'r\' (real, r2c/c2r), or
Chris@42 95 \'k\' (r2r, per-dimension kinds, specified in the geometry, below).
Chris@42 96
Chris@42 97 <\fIinplace\fR> is either \'i\' (in place) or \'o\' (out of place).
Chris@42 98
Chris@42 99 <\fIdirection\fR> is either \'f\' (forward) or \'b\' (backward). The
Chris@42 100 <\fIdirection\fR> should be omitted for \'k\' transforms, where it is
Chris@42 101 specified via the geometry instead.
Chris@42 102
Chris@42 103 <\fIgeometry\fR> is the size and dimensionality of the transform,
Chris@42 104 where different dimensions are separated by \'x\' (e.g. \'16x32\' for
Chris@42 105 a two-dimensional 16 by 32 transform). In the case of \'k\'
Chris@42 106 transforms, the size of each dimension is followed by a "type" string,
Chris@42 107 which can be one of f/b/h/e00/e01/e10/e11/o00/o01/o10/o11 for
Chris@42 108 R2HC/HC2R/DHT/REDFT00/.../RODFT11, respectively, as defined in the
Chris@42 109 FFTW manual.
Chris@42 110
Chris@42 111 For example, \'cif12x13x14\' is a three-dimensional 12 by 13 x 14
Chris@42 112 complex DFT operating in-place. \'rob65536\' is a one-dimensional
Chris@42 113 size-65536 out-of-place complex-to-real (backwards) transform
Chris@42 114 operating on Hermitian-symmetry input. \'ki10hx20e01\' is a
Chris@42 115 two-dimensional 10 by 20 r2r transform where the first dimension is a
Chris@42 116 DHT and the second dimension is an REDFT01 (DCT-III).
Chris@42 117
Chris@42 118 .SH OPTIONS
Chris@42 119 .TP
Chris@42 120 \fB\-h\fR, \fB\-\-help\fR
Chris@42 121 Display help on the command-line options and usage.
Chris@42 122 .TP
Chris@42 123 \fB\-V\fR, \fB\-\-version\fR
Chris@42 124 Print the version number and copyright information.
Chris@42 125 .TP
Chris@42 126 \fB\-v\fR, \fB\-\-verbose\fR
Chris@42 127 Verbose output. (You can specify this multiple times, or supply a numeric
Chris@42 128 argument greater than 1, to increase the verbosity level.) Note that the
Chris@42 129 verbose output will be mixed with the wisdom output (making it impossible
Chris@42 130 to import), unless you write the wisdom to a file via the
Chris@42 131 .B \-o
Chris@42 132 option.
Chris@42 133 .TP
Chris@42 134 \fB\-c\fR, \fB\-\-canonical\fR
Chris@42 135 Optimize/pre-plan a canonical set of sizes: all powers of two and ten
Chris@42 136 up to 2^20 (1048576), including both real and complex, forward and
Chris@42 137 backwards, in-place and out-of-place transforms. Also includes two-
Chris@42 138 and three-dimensional transforms of equal-size dimensions
Chris@42 139 (e.g. 16x16x16).
Chris@42 140 .TP
Chris@42 141 \fB\-t\fR \fIhours\fR, \fB\-\-time\-limit\fR=\fIhours\fR
Chris@42 142 Stop after a time of
Chris@42 143 .I hours
Chris@42 144 (hours) has elapsed, outputting accumulated wisdom. (The problems are planned
Chris@42 145 in increasing order of size.) Defaults to 0, indicating no time limit.
Chris@42 146 .TP
Chris@42 147 \fB\-o\fR \fIfile\fR, \fB\-\-output-file\fR=\fIfile\fR
Chris@42 148 Send wisdom output to
Chris@42 149 .I file
Chris@42 150 rather than to standard output (the default).
Chris@42 151 .TP
Chris@42 152 \fB\-m\fR, \fB\-\-measure\fR; \fB\-e\fR, \fB\-\-estimate\fR; \fB\-x\fR, \fB\-\-exhaustive\fR
Chris@42 153 Normally,
Chris@42 154 .I fftwf\-wisdom
Chris@42 155 creates plans in FFTW_PATIENT mode, but with these options you can instead
Chris@42 156 use FFTW_MEASURE, FFTW_ESTIMATE, or FFTW_EXHAUSTIVE modes, respectively,
Chris@42 157 as described in more detail by the FFTW manual.
Chris@42 158
Chris@42 159 Note that wisdom is tagged with the planning patience level, and a
Chris@42 160 single file can mix different levels of wisdom (e.g. you can mostly
Chris@42 161 use the patient default, but plan a few sizes that you especially care
Chris@42 162 about in
Chris@42 163 .B \-\-exhaustive
Chris@42 164 mode).
Chris@42 165 .TP
Chris@42 166 \fB\-n\fR, \fB\-\-no\-system\-wisdom\fR
Chris@42 167 Do not import the system wisdom from
Chris@42 168 .I /etc/fftw/wisdomf
Chris@42 169 (which is normally read by default).
Chris@42 170 .TP
Chris@42 171 \fB\-w\fR \fIfile\fR, \fB\-\-wisdom\-file\fR=\fIfile\fR
Chris@42 172 Import wisdom from
Chris@42 173 .I file
Chris@42 174 (in addition to the system wisdom, unless
Chris@42 175 .B \-n
Chris@42 176 is specified). Multiple wisdom files can be read via multiple
Chris@42 177 .B \-w
Chris@42 178 options. If
Chris@42 179 .I file
Chris@42 180 is "\-", then read wisdom from standard input.
Chris@42 181 .TP
Chris@42 182 \fB\-T\fR \fIN\fR, \fB\--threads\fR=\fIN\fR
Chris@42 183 Plan with
Chris@42 184 .I N
Chris@42 185 threads. This option is only present if FFTW was configured with
Chris@42 186 thread support.
Chris@42 187 .SH BUGS
Chris@42 188 Send bug reports to fftw@fftw.org.
Chris@42 189 .SH AUTHORS
Chris@42 190 Written by Steven G. Johnson and Matteo Frigo.
Chris@42 191
Chris@42 192 Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@42 193 .br
Chris@42 194 Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@42 195 .SH "SEE ALSO"
Chris@42 196 fftw-wisdom-to-conf(1)