Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | pj | 1 | This directory contains a test program, fftw_test, for the one- and |
2 | multi-dimensional transforms. There is also a corresponding program, |
||
3 | rfftw_test, for the real-complex transforms, which takes the same |
||
4 | command-line options as fftw_test. (See the FFTW manual for |
||
5 | compilation instructions.) |
||
6 | |||
7 | They take a number of command-line options that determine what to |
||
8 | tests. (On systems lacking a command-line, they will prompt the user |
||
9 | interactively for this information.) We use the following |
||
10 | conventions. |
||
11 | |||
12 | <n> is a size parameter, and it has the form N1xN2xN3... . For |
||
13 | example, 3x8 denotes a two-dimensional array with 3 rows and 8 |
||
14 | columns. A single number N denotes a 1D transform of size N. For the |
||
15 | cases where it matters, the syntax xN denotes a ND-transform of rank |
||
16 | 1. For example, x5 denotes a n-dimensional array of rank 1 with 5 |
||
17 | elements. (This matters for real->complex transforms) |
||
18 | |||
19 | <rank> is an integer. Rank 0 denotes 1D transforms. Rank >= 1 |
||
20 | denotes n-dimensional transforms. Again, rank 0 uses [R]FFTW, but |
||
21 | rank >= 1 uses [R]FFTWND. |
||
22 | |||
23 | -r <rank> Tests the forward and backward transforms of |
||
24 | random dimensions and sizes. Does not terminate |
||
25 | (press ^C when you are tired). We use the FFT |
||
26 | testing algorithm described in: |
||
27 | |||
28 | Funda Ergün, "Testing multivariate linear functions: |
||
29 | Overcoming the generator bottleneck." Proceedings of |
||
30 | the Twenty-Seventh Annual ACM Symposium on the Theory |
||
31 | of Computing, pp. 407-416 (1995). |
||
32 | |||
33 | -c <n> Checks the forward and backward transform of size <n> |
||
34 | |||
35 | |||
36 | -s <n> Test the speed of the transform of size <n> |
||
37 | Times both in-place and out-of-place transforms. |
||
38 | |||
39 | -a <rank> Like fftw_test -c <n> for all n = 1 ... infinity. |
||
40 | Does not terminate (press ^C when you are tired) |
||
41 | |||
42 | -p <rank> Exercises the planner to make sure there are no |
||
43 | memory leaks. |
||
44 | |||
45 | -m Uses the FFTW_MEASURE flag (instead of FFTW_ESTIMATE) |
||
46 | during correctness tests (this will slow things down |
||
47 | considerably). |
||
48 | |||
49 | -w <file> Tests the "wisdom" mechanism (wisdom is used |
||
50 | in all transforms computed...this option should |
||
51 | precede one of the other options above). Also, |
||
52 | loads wisdom from <file> and stores accumulated |
||
53 | wisdom in <file> (after tests are completed). |
||
54 | (<file> is created if it does not exist.) |
||
55 | |||
56 | -t Tests the resolution of the timer you are currently |
||
57 | using. This is done by measuring the time per |
||
58 | iteration of a simple loop--the time/iter should |
||
59 | converge to some value for large numbers of iterations, |
||
60 | and the rate of convergence can be used to infer |
||
61 | something about the timer resolution. |
||
62 | |||
63 | The minimum timing interval required to achieve |
||
64 | various levels of consistency/accuracy is outputted. |
||
65 | You can compare this to the FFTW_TIME_MIN setting |
||
66 | in fftw.h to see how appropriate it is for your |
||
67 | machine's clock. |
||
68 | |||
69 | -v Verbose output (should precede other options). |
||
70 | |||
71 | -h Prints help on these and other command-line flags |