On 2013-01-13, at 9:53 PM, Mirko Vukovic <
mirko....@gmail.com> wrote:
> In preparation for experiments that start tomorrow, I added today
> real-array fft and power spectrum capabilities to my dataframe code. It
> uses GSLL's fft functions (search for file fft.lisp).
[...]
> I may add windowing capability to the fft code later on.
It works, and that's what matters, but...
Bordeaux-FFT has windowing code and fairly decent performance for complex, power-of-two, FFT on SBCL/x86-64 (using complex arithmetic enables SBCL to emit SIMD FP code).
Napa-FFT3 (
https://github.com/pkhuong/Napa-FFT3) has basically the same windowing code, and real-only FFT, but still only does power of two FFTs (smaller FFTs basically need padding, unless a brave soul wants to implement more radices). In early experiments ~one year ago, Napa-FFT3 was on on par with FFTW 3.3, except for small L2 cache-sized transforms, for which FFTW's nice codelets make a huge impact. Plus, Napa-FFT3 is based on a bit-reversed mixed-radix FFT, so multidimensional FFTs are easier to implement (an in-place transpose is just a bunch of bit reverses permutations).
Paul Khuong