[SciPy-dev] Dropping djbfft ?
Mon May 12 17:01:04 CDT 2008
When we put the fft library together back in 2001-2002, there wasn't a
good alternative for a fast fft package that wasn't GPLed. fftw was
reasonably fast and fully functioning, but GPLed. fftpack had the
functionality, but not the speed. djbfft (at the time) was noticeably
faster than either of these for its important subset of functionality
(radix 2), but wasn't full featured. The combination of djbfft and
fftpack gave us a BSD compatible and fast library for SciPy. This was
the combination that we used to build the binaries that were available
from the scipy.org website.
Having been out of the building SciPy game for a while, my question
would be, what fft libraries are used now to build the binaries for
scipy.org? Are they using fftpack only? If so, they are likely much
slower than they need to be. My guess is that the binaries are not
linked to MKL or FFTW because of licensing issues. Is there another
alternative that we can use now that is fast, BSD compatible, and
simpler to build?
I'm very sympathetic to build issues, so if getting rid of djbfft
simplifies things, then it is well worth considering. If, on the
other hand, it results in slow-ish fft algorithms in the SciPy
provided binaries, this also needs to be weighed as a drawback.
On May 12, 2008, at 9:59 AM, David Cournapeau wrote:
> I would like to ask again about dropping djbfft support. Djbfft
> is a
> fft implementation, which has not been updated since 1999, and is not
> packaged by most linux distributions (I quite doubt anyone on
> windows is
> using it). Also, because it only supports 2^n sizes, it has to be used
> simultaneously with another backend (fftpack, fftw, fftw3, etc....).
> later is why I would like to drop it: it is quite a PITA to test all
> combinations, and it takes a lot of time for maybe one or two users
> there. I would much prefer spending times on improving things like our
> fftw3 support, float support, etc...
> Scipy-dev mailing list
More information about the Scipy-dev