[SciPy-user] how to build in fftw3 support?

Lin Shao shao at msg.ucsf.edu
Sat May 24 13:34:15 EDT 2008


>>
>> Sure, I did notice that, but for 1-d FFT who cares that much about
>> which package to use.
>
> I would say that many people care, since that's the transforms that
> people contributing new backends did implement.

Sorry, I wasn't clear again. What I meant was any backend should
perform 1-d FFT just as well as FFTW3; I think the biggest reason to
use FFTW3 (at least to me) is for its multi-D performance.

I just found in fftpack/NOTES.txt the following lines:

To do
=====

basic.py
  - Optimize ``fftn()`` for real input.
  - Implement ``rfftn()`` and ``irfftn()``.
......

So it looks like rfftn() was planned already.

> Here is the story as I understand it: a few years ago, the initial
> scipy.fftpack was written, with fftpack as a backend, as the name
> suggested. Some functions could also use other backends (fftw, djbfft).
> As people contributed some functions, the code became unmaintainable. I
> wanted to speed-up the fftw3 backend, but this was too difficult with
> the code at that time (the code for all backends was mixed up), so I
> refactored it one first time.
>
> Now, I am refactoring it even more: the goal is to have totally separate
> implementation for each backend. That should make contribution easier, also.
>

Ah, now it sounds very clear. Thanks for giving out the details.
By "refactoring", did you mean "dividing it up"? If so, I fully agree.
I'm very interested in contributing something to wrapping FFTW3.
Please let me know if someone is already working on it, or how my work
can potentially be plugged into your framework. (Should this
discussion be moved to scipy-dev?)

--lin



More information about the SciPy-User mailing list