Support AbstractFFTs interface
Opened this issue · 0 comments
jipolanco commented
Things to do:
-
define
PencilFFTPlan
constructor taking an existingPencilArray
; -
define planner functions, such as
plan_fft
, as wrappers ofPencilFFTPlan
constructor. Also extend r2r plans included in FFTW.jl; -
make sure that
fft(A::PencilArray, [dims])
(and similar functions) works as expected, returning anotherPencilArray
; -
define plan inverse as described in the AbstractFFTs docs (this is more difficult...).
Note that in-place transforms are more difficult via this interface, since they can't be performed directly on a PencilArray
. This is because, in general, the size of the data held by a MPI process varies from input to output, even for complex-to-complex transforms (where the global size stays the same).