Skip to content
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

Drop FFTW dependency #123

Open
andreasnoack opened this issue May 24, 2024 · 3 comments
Open

Drop FFTW dependency #123

andreasnoack opened this issue May 24, 2024 · 3 comments

Comments

@andreasnoack
Copy link
Member

Since it effectively makes this package GPL licensed. Some possibilities might be

cc @devmotion

@simonbyrne
Copy link
Member

AbstractFFTs.jl might be useful?

@andreasnoack
Copy link
Member Author

Possibly but the README says that

This package is mainly not intended to be used directly.

A while ago I discussed this option a bit with @devmotion, though, and while it might provide the freedom to choose your favorite FFT package then my feeling is that most users of this package would prefer not to know about FFT packages.

@devmotion
Copy link
Member

I opened a PR a while ago but the reactions where a bit mixed: #117 The main issue with the AbstractFFTs approach taken in that PR is that as @andreasnoack said it requires users to load an FFT package (and due to the oddities of the backend selection in AbstractFFTs any (in)direct dependency loading an FFT package collides with this approach - so mixing e.g. FFTW and RustFFTs in the ecosystem would create additional problems).

Ultimately, having faced this problem multiple times my impression is that AbstractFFTs has to be redesigned such that one can select and combine different backends more easily. Moreover, for user convenience a fallback on a (non-GPL?) backend would be ideal in case packages do not define their own default backend. Maybe one could use the preference system to set global, package-specific, and user-specific default backends (in case it's desirable to not hardcode it). Unfortunately, FFTW alternatives such as RustFFTs or FFTA are not complete enough yet and therefore not a drop-in replacement for FFTW.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants