Skip to content

ENH: fft: switch from pocketfft to ducc0.fft #32605

Description

@mwyau

Proposed new feature or change:

Scipy switched its built-in FFT library from pocketfft to its successor ducc.fft in scipy/scipy#23436

Previous discussion in #17839. A lot of the obstacles no longer exist:

  • Numpy switched to C++ pocketfft implementation, which makes it easier move to C++ ducc.fft
  • The ducc.fft files were changed to be dual-licensed under BSD-3-Clause OR GPL-2.0-or-later which should be compatible with Numpy
  • If we switch to ducc.fft we can also move multi-D FFT to ducc.fft instead of managing by Numpy
  • Numpy doesn't have a vendoring script like SciPy. A submodule will import too many files from the ducc repo. Can we check in the vendored files manually?
  • Can Scipy depends on Numpy FFT and get rid of it's own ducc.fft dependency?

I have a working local prototype, want to know how well this will be received before I proceed with a PR.

cc @mreineck

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions