Skip to content

Autovectorization and AbstractFFTs #77

@andreasnoack

Description

@andreasnoack

I'm opening this issue to discuss something I started thinking about when working on #76. I have mixed feelings about ffts of lower dimension than the array. It feels like "autovectorization" which is generally avoided in other parts of Julia's multidimensional code. It would be more in line with the general array code to apply a lower-dimensional fft plan along some dimensions with something like mapslices.

Maybe some of this is imposed by AbstractFFTs, but I'm also now in doubt what this package really gains from using that interface. Some of the promotion methods might be convenient, but it isn't that big of a deal IMO, and it essentially forces the interface of FFTW while also introducing issues like #66. AbstractFFTs doesn't solve the problem of switching backends for downstream packages (although there is ongoing work that might change that), so I'm not sure if depending on AbstractFFTs is a net gain. My main goal with working on this package is to allow e.g. https://github.com/JuliaStats/KernelDensity.jl to work without FFTW, and there might be easier ways to allow for that than making changes to AbstractFFTs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions