FFTW-WISDOM(1) fftw FFTW-WISDOM(1) NNAAMMEE fftw-wisdom - create wisdom (pre-optimized FFTs) SSYYNNOOPPSSIISS ffffttww--wwiissddoomm [_O_P_T_I_O_N]... [_S_I_Z_E]... DDEESSCCRRIIPPTTIIOONN _f_f_t_w_-_w_i_s_d_o_m is a utility to generate FFTW wwiissddoomm 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: _h_t_t_p_:_/_/_w_w_w_._f_f_t_w_._o_r_g 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 ssyysstteemm wwiissddoomm file, which is stored in _/_e_t_c_/_f_f_t_w_/_w_i_s_d_o_m (or in _/_d_e_v_/_e_n_v_/_D_J_D_I_R_/_e_t_c_/_f_f_t_w_/_w_i_s_d_o_m on DJGPP systems) by default. _f_f_t_w_-_w_i_s_d_o_m 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: fftw-wisdom -v -c -o wisdom (this will take many hours, which can be limited by the --tt option) and the output _w_i_s_d_o_m file can then be copied (as root) to _/_e_t_c_/_f_f_t_w_/ (or to _/_d_e_v_/_e_n_v_/_D_J_D_I_R_/_e_t_c_/_f_f_t_w_/ on DJGPP systems) or whatever. The _f_f_t_w_-_w_i_s_d_o_m program normally writes the wisdom directly to standard output, but this can be changed via the --oo option, as in the example above. If the system wisdom file _/_e_t_c_/_f_f_t_w_/_w_i_s_d_o_m (or _/_d_e_v_/_e_n_v_/_D_J_D_I_R_/_e_t_c_/_f_f_t_w_/_w_i_s_d_o_m on DJGPP systems) already exists, then _f_f_t_w_-_w_i_s_d_o_m reads this existing wisdom (unless the --nn 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 --ww option). SSPPEECCIIFFYYIINNGG SSIIZZEESS Although a canonical set of sizes to optimize is specified by the --cc option, the user can also specify zero or more non-canonical transform sizes and types to optimize, via the _S_I_Z_E arguments following the option flags. Alterna- tively, the sizes to optimize can be read from standard input (whitespace-separated), if a _S_I_Z_E argument of "-" is supplied. fftw February, 2003 1 FFTW-WISDOM(1) fftw FFTW-WISDOM(1) Sizes are specified by the syntax: <_t_y_p_e><_i_n_p_l_a_c_e><_d_i_r_e_c_t_i_o_n><_g_e_o_m_e_t_r_y> <_t_y_p_e> is either 'c' (complex), 'r' (real, r2c/c2r), or 'k' (r2r, per-dimension kinds, specified in the geometry, below). <_i_n_p_l_a_c_e> is either 'i' (in place) or 'o' (out of place). <_d_i_r_e_c_t_i_o_n> is either 'f' (forward) or 'b' (backward). The <_d_i_r_e_c_t_i_o_n> should be omitted for 'k' transforms, where it is specified via the geometry instead. <_g_e_o_m_e_t_r_y> is the size and dimensionality of the trans- form, 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 (back- wards) transform operating on Hermitian-symmety input. 'ki10hx20e01' is a two-dimensional 10 by 20 r2r transform where the first dimension is a DHT and the second dimen- sion is an REDFT01 (DCT-III). OOPPTTIIOONNSS --hh, ----hheellpp Display help on the command-line options and usage. --VV, ----vveerrssiioonn Print the version number and copyright information. --vv, ----vveerrbboossee 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 --oo option. --cc, ----ccaannoonniiccaall Optimize/pre-plan a canonical set of sizes: all powers of two and ten up to 2^20 (1048576), includ- ing 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). fftw February, 2003 2 FFTW-WISDOM(1) fftw FFTW-WISDOM(1) --tt _h_o_u_r_s, ----ttiimmee--lliimmiitt=_h_o_u_r_s Stop after a time of _h_o_u_r_s (hours) has elapsed, outputting accumulated wisdom. (The problems are planned in increasing order of size.) Defaults to 0, indicating no time limit. --oo _f_i_l_e, ----oouuttppuutt--ffiillee=_f_i_l_e Send wisdom output to _f_i_l_e rather than to standard output (the default). --mm, ----mmeeaassuurree; --ee, ----eessttiimmaattee; --xx, ----eexxhhaauussttiivvee Normally, _f_f_t_w_-_w_i_s_d_o_m 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 ----eexxhhaauussttiivvee mode). --nn, ----nnoo--ssyysstteemm--wwiissddoomm Do not import the system wisdom from _/_e_t_c_/_f_f_t_w_/_w_i_s_- _d_o_m (or from _/_d_e_v_/_e_n_v_/_D_J_D_I_R_/_e_t_c_/_f_f_t_w_/_w_i_s_d_o_m on DJGPP systems) (which is normally read by default). --ww _f_i_l_e, ----wwiissddoomm--ffiillee=_f_i_l_e Import wisdom from _f_i_l_e (in addition to the system wisdom, unless --nn is specified). Multiple wisdom files can be read via multiple --ww options. If _f_i_l_e is "-", then read wisdom from standard input. BBUUGGSS Send bug reports to fftw@fftw.org. AAUUTTHHOORRSS Written by Steven G. Johnson and Matteo Frigo. Copyright (c) 2003, 2006 Matteo Frigo Copyright (c) 2003, 2006 Massachusetts Institute of Tech- nology SSEEEE AALLSSOO fftw-wisdom-to-conf(1) fftw February, 2003 3