google-summer-of-code icon indicating copy to clipboard operation
google-summer-of-code copied to clipboard

[Idea]: provide APIs for computing Fast Fourier Transforms

Open kgryte opened this issue 3 years ago • 1 comments

Idea

The goal of this idea is to expose a set of Fast Fourier Transform (FFT) interfaces similar to those available in NumPy and as documented in the Data APIs Array API specification. Similar to stdlib's BLAS interfaces, we may want to allow switching out the FFT backend.

One potential reference implementation which could form the basis of this idea is pocketfft, as done in NumPy:

  • https://github.com/mreineck/pocketfft
  • https://gitlab.mpcdf.mpg.de/mtr/pocketfft

Expected Outcomes

stdlib users would be able to evaluate FFT operations on stdlib ndarrays. Ideally, we'd also provide a set of C APIs.

Involved Software

Will need to consult reference implementations in C/Fortran.

Prerequisite Knowledge

JavaScript, Node.js, C/C++/Fortran

Difficulty

Hard. This may be a straightforward port, or it may not be. More R&D is needed.

Project Length

350 hours.

Potential Mentors

@kgryte @Planeshifter @rreusser @Pranavchiku @czgdp1807

kgryte avatar Jan 11 '23 09:01 kgryte

Some work has been done toward adding FFT support in stdlib: https://github.com/stdlib-js/stdlib/pull/4121

kgryte avatar Feb 15 '25 06:02 kgryte