cannam@167
|
1 TODO before FFTW-$2\pi$:
|
cannam@167
|
2
|
cannam@167
|
3 * figure out how to autodetect NEON at runtime
|
cannam@167
|
4
|
cannam@167
|
5 * figure out the arm cycle counter business
|
cannam@167
|
6
|
cannam@167
|
7 * Wisdom: make it clear that it is specific to the exact fftw version
|
cannam@167
|
8 and configuration. Report error codes when reading wisdom. Maybe
|
cannam@167
|
9 have multiple system wisdom files, one per version?
|
cannam@167
|
10
|
cannam@167
|
11 * DCT/DST codelets? which kinds?
|
cannam@167
|
12
|
cannam@167
|
13 * investigate the addition-chain trig computation
|
cannam@167
|
14
|
cannam@167
|
15 * I can't believe that there isn't a closed form for the omega
|
cannam@167
|
16 array in Rader.
|
cannam@167
|
17
|
cannam@167
|
18 * convolution problem type(s)
|
cannam@167
|
19
|
cannam@167
|
20 * Explore the idea of having n < 0 in tensors, possibly to mean
|
cannam@167
|
21 inverse DFT.
|
cannam@167
|
22
|
cannam@167
|
23 * better estimator: possibly, let "other" cost be coef * n, where
|
cannam@167
|
24 coef is a per-solver constant determined via some big numerical
|
cannam@167
|
25 optimization/fit.
|
cannam@167
|
26
|
cannam@167
|
27 * vector radix, multidimensional codelets
|
cannam@167
|
28
|
cannam@167
|
29 * it may be a good idea to unify all those little loops that do
|
cannam@167
|
30 copying, (X[i], X[n-i]) <- (X[i] + X[n-i], X[i] - X[n-i]),
|
cannam@167
|
31 and multiplication of vectors by twiddle factors.
|
cannam@167
|
32
|
cannam@167
|
33 * Pruned FFTs (basically, a vecloop that skips zeros).
|
cannam@167
|
34
|
cannam@167
|
35 * Try FFTPACK-style back-and-forth (Stockham) FFT. (We tried this a
|
cannam@167
|
36 few years ago and it was slower, but perhaps matters have changed.)
|
cannam@167
|
37
|
cannam@167
|
38 * Generate assembly directly for more processors, or maybe fork gcc. =)
|
cannam@167
|
39
|
cannam@167
|
40 * ensure that threaded solvers generate (block_size % 4 == 0)
|
cannam@167
|
41 to allow SIMD to be used.
|
cannam@167
|
42
|
cannam@167
|
43 * memoize triggen.
|