jipolanco/PencilFFTs.jl

Support AbstractFFTs interface

Opened this issue · 0 comments

Things to do:

  • define PencilFFTPlan constructor taking an existing PencilArray;

  • define planner functions, such as plan_fft, as wrappers of PencilFFTPlan constructor. Also extend r2r plans included in FFTW.jl;

  • make sure that fft(A::PencilArray, [dims]) (and similar functions) works as expected, returning another PencilArray;

  • 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).