197 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" 
 | |
| .\" Copyright (c) 2003, 2007-14 Matteo Frigo
 | |
| .\" Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
 | |
| .\" 
 | |
| .\" This program is free software; you can redistribute it and/or modify
 | |
| .\" it under the terms of the GNU General Public License as published by
 | |
| .\" the Free Software Foundation; either version 2 of the License, or
 | |
| .\" (at your option) any later version.
 | |
| .\" 
 | |
| .\" This program is distributed in the hope that it will be useful,
 | |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| .\" GNU General Public License for more details.
 | |
| .\" 
 | |
| .\" You should have received a copy of the GNU General Public License
 | |
| .\" along with this program; if not, write to the Free Software
 | |
| .\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | |
| .\"
 | |
| .TH FFTW-WISDOM 1 "February, 2003" "fftw" "fftw"
 | |
| .SH NAME
 | |
| fftw@PREC_SUFFIX@\-wisdom \- create wisdom (pre-optimized FFTs)
 | |
| .SH SYNOPSIS
 | |
| .B fftw@PREC_SUFFIX@\-wisdom
 | |
| [\fIOPTION\fR]... [\fISIZE\fR]...
 | |
| .SH DESCRIPTION
 | |
| .PP
 | |
| .\" Add any additional description here
 | |
| .I fftw@PREC_SUFFIX@\-wisdom
 | |
| is a utility to generate FFTW
 | |
| .B 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 information on FFTW can be found at the FFTW
 | |
| home page:
 | |
| .I 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 \fBsystem wisdom\fR file, which is stored in
 | |
| .I /etc/fftw/wisdom@PREC_SUFFIX@
 | |
| by default.
 | |
| .I fftw@PREC_SUFFIX@\-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:
 | |
| 
 | |
| .ce
 | |
| fftw@PREC_SUFFIX@\-wisdom \-v \-c \-o wisdom@PREC_SUFFIX@
 | |
| 
 | |
| (this will take many hours, which can be limited by the 
 | |
| .B \-t
 | |
| option) and the output
 | |
| .I wisdom@PREC_SUFFIX@
 | |
| file can then be copied (as root) to
 | |
| .I /etc/fftw/
 | |
| or whatever.
 | |
| 
 | |
| The
 | |
| .I fftw@PREC_SUFFIX@\-wisdom
 | |
| program normally writes the wisdom directly to standard output, but this
 | |
| can be changed via the
 | |
| .B \-o
 | |
| option, as in the example above.
 | |
| 
 | |
| If the system wisdom file
 | |
| .I /etc/fftw/wisdom@PREC_SUFFIX@
 | |
| already exists, then
 | |
| .I fftw@PREC_SUFFIX@\-wisdom
 | |
| reads this existing wisdom (unless the
 | |
| .B \-n
 | |
| option is specified) 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 
 | |
| .B \-w
 | |
| option).
 | |
| .SH SPECIFYING SIZES
 | |
| Although a canonical set of sizes to optimize is specified by the 
 | |
| .B \-c
 | |
| option, the user can also specify zero or more non-canonical transform
 | |
| sizes and types to optimize, via the 
 | |
| .I SIZE
 | |
| arguments following the option flags.  Alternatively, the sizes to
 | |
| optimize can be read from standard input (whitespace-separated), if a
 | |
| .I SIZE
 | |
| argument of "\-" is supplied.
 | |
| 
 | |
| Sizes are specified by the syntax:
 | |
| 
 | |
| .ce
 | |
| <\fItype\fR><\fIinplace\fR><\fIdirection\fR><\fIgeometry\fR>
 | |
| 
 | |
| <\fItype\fR> is either \'c\' (complex), \'r\' (real, r2c/c2r), or
 | |
| \'k\' (r2r, per-dimension kinds, specified in the geometry, below).
 | |
| 
 | |
| <\fIinplace\fR> is either \'i\' (in place) or \'o\' (out of place).
 | |
| 
 | |
| <\fIdirection\fR> is either \'f\' (forward) or \'b\' (backward).  The
 | |
| <\fIdirection\fR> should be omitted for \'k\' transforms, where it is
 | |
| specified via the geometry instead.
 | |
| 
 | |
| <\fIgeometry\fR> is the size and dimensionality of the transform,
 | |
| where different dimensions are separated by \'x\' (e.g. \'16x32\' for
 | |
| a two-dimensional 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 manual.
 | |
| 
 | |
| 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 Hermitian-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).
 | |
| 
 | |
| .SH OPTIONS
 | |
| .TP
 | |
| \fB\-h\fR, \fB\-\-help\fR
 | |
| Display help on the command-line options and usage.
 | |
| .TP
 | |
| \fB\-V\fR, \fB\-\-version\fR
 | |
| Print the version number and copyright information.
 | |
| .TP
 | |
| \fB\-v\fR, \fB\-\-verbose\fR
 | |
| 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 
 | |
| .B \-o
 | |
| option.
 | |
| .TP
 | |
| \fB\-c\fR, \fB\-\-canonical\fR
 | |
| 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).
 | |
| .TP
 | |
| \fB\-t\fR \fIhours\fR, \fB\-\-time\-limit\fR=\fIhours\fR
 | |
| Stop after a time of
 | |
| .I hours
 | |
| (hours) has elapsed, outputting accumulated wisdom.  (The problems are planned
 | |
| in increasing order of size.)  Defaults to 0, indicating no time limit.
 | |
| .TP
 | |
| \fB\-o\fR \fIfile\fR, \fB\-\-output-file\fR=\fIfile\fR
 | |
| Send wisdom output to
 | |
| .I file
 | |
| rather than to standard output (the default).
 | |
| .TP
 | |
| \fB\-m\fR, \fB\-\-measure\fR; \fB\-e\fR, \fB\-\-estimate\fR; \fB\-x\fR, \fB\-\-exhaustive\fR
 | |
| Normally, 
 | |
| .I fftw@PREC_SUFFIX@\-wisdom
 | |
| creates plans in FFTW_PATIENT mode, but with these options you can instead
 | |
| use FFTW_MEASURE, FFTW_ESTIMATE, 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
 | |
| .B \-\-exhaustive
 | |
| mode).
 | |
| .TP
 | |
| \fB\-n\fR, \fB\-\-no\-system\-wisdom\fR
 | |
| Do not import the system wisdom from
 | |
| .I /etc/fftw/wisdom@PREC_SUFFIX@
 | |
| (which is normally read by default).
 | |
| .TP
 | |
| \fB\-w\fR \fIfile\fR, \fB\-\-wisdom\-file\fR=\fIfile\fR
 | |
| Import wisdom from
 | |
| .I file
 | |
| (in addition to the system wisdom, unless 
 | |
| .B \-n
 | |
| is specified).  Multiple wisdom files can be read via multiple
 | |
| .B \-w
 | |
| options.  If
 | |
| .I file
 | |
| is "\-", then read wisdom from standard input.
 | |
| .TP
 | |
| \fB\-T\fR \fIN\fR, \fB\--threads\fR=\fIN\fR
 | |
| Plan with
 | |
| .I N
 | |
| threads.  This option is only present if FFTW was configured with
 | |
| thread support.
 | |
| .SH BUGS
 | |
| Send bug reports to fftw@fftw.org.
 | |
| .SH AUTHORS
 | |
| Written by Steven G. Johnson and Matteo Frigo.
 | |
| 
 | |
| Copyright (c) 2003, 2007-14 Matteo Frigo
 | |
| .br
 | |
| Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
 | |
| .SH "SEE ALSO"
 | |
| fftw-wisdom-to-conf(1)
 | 
