FFTW.jl icon indicating copy to clipboard operation
FFTW.jl copied to clipboard

Support FFT of split complex representation

Open KristofferC opened this issue 8 years ago • 1 comments

Moved from https://github.com/JuliaLang/julia/issues/12398

As shown by @simonster (https://github.com/simonster/StructsOfArrays.jl), Structure of Array is much easier to vectorize. Using StructOfArrays(Complex64) and @simd I can see a speed up of >2x. However, it seems that this is not very well supported by our fft API.

As @simonster suggested, I tried to implement FFT on StructOfArrays using fftw_plan_gure64_split_dft. The non-plan version works greet. However, I get SegFault when trying to use the plan interface. It seems that fftw assumes that the relative address between the real and complex part is fixed and therefore is not accessing the right address when I pass in a different array.

Is there a fftw interface that can be used to implement this?

@stevengj

KristofferC avatar Sep 09 '17 20:09 KristofferC

https://github.com/FFTW/fftw3/issues/88#issuecomment-282403233

stevengj avatar Sep 12 '17 16:09 stevengj