Skip to content

[Idea]: provide APIs for computing Fast Fourier Transforms #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kgryte opened this issue Jan 11, 2023 · 1 comment
Open

[Idea]: provide APIs for computing Fast Fourier Transforms #3

kgryte opened this issue Jan 11, 2023 · 1 comment
Labels
difficulty: 5 Likely to be difficult to implement with several unknowns. idea Potential GSoC project idea. priority: normal Normal priority. tech: c Involves programming in C. tech: fortran Involves programming in Fortran. tech: javascript Involves programming in JavaScript. tech: native addons Involves developing Node.js native add-ons. tech: nodejs Requires developing with Node.js.

Comments

@kgryte
Copy link
Member

kgryte commented Jan 11, 2023

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:

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 kgryte added idea Potential GSoC project idea. priority: normal Normal priority. difficulty: 5 Likely to be difficult to implement with several unknowns. tech: javascript Involves programming in JavaScript. tech: c Involves programming in C. tech: fortran Involves programming in Fortran. tech: nodejs Requires developing with Node.js. tech: native addons Involves developing Node.js native add-ons. labels Jan 11, 2023
@stdlib-js stdlib-js locked and limited conversation to collaborators Jan 11, 2023
@kgryte
Copy link
Member Author

kgryte commented Feb 15, 2025

Some work has been done toward adding FFT support in stdlib: stdlib-js/stdlib#4121

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 5 Likely to be difficult to implement with several unknowns. idea Potential GSoC project idea. priority: normal Normal priority. tech: c Involves programming in C. tech: fortran Involves programming in Fortran. tech: javascript Involves programming in JavaScript. tech: native addons Involves developing Node.js native add-ons. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

1 participant