Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
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:

       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
       /usr/local/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 /usr/lo-
       cal/etc/fftw/ or	whatever.

       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 /usr/local/etc/fftw/wisdomf  already  exists,
       then  fftwf-wisdom  reads this existing wisdom (unless the -n option is
       specified) and outputs both the old wisdom and any newly	 created  wis-
       dom.  In	this way, it can be used to add	new transform sizes to the ex-
       isting 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  op-
       tion  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 ge-
       ometry 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 /usr/local/etc/fftw/wisdomf
	      (which is	normally read by default).

       -w file,	--wisdom-file=file
	      Import  wisdom  from file	(in addition to	the system wisdom, un-
	      less -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

       Written by Steven G. Johnson and	Matteo Frigo.

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


fftw				February, 2003			FFTW-WISDOM(1)


Want to link to this manual page? Use this URL:

home | help