[SciPy-User] [ANN] pyfftw-0.2 released

Sebastian Haase seb.haase at gmail.com
Mon Feb 15 05:27:42 EST 2010


On Mon, Feb 15, 2010 at 11:20 AM, Jochen Schroeder <cycomanic at gmail.com> wrote:
> On 02/15/10 10:35, Sebastian Haase wrote:
>> On Mon, Feb 15, 2010 at 5:03 AM, Jochen Schroeder <cycomanic at gmail.com> wrote:
>> > Hi all,
>> >
>> > I'm pleased to announce version 0.2 of pyfftw, a python module providing access
>> > to the FFTW3 library.
>> >
>> > New features:
>> >
>> > - pyfftw can now create advanced plans (needs testing)
>> > - provide location of fftw libraries at runtime with an environment variable
>> > - better detection of fftw location at install time
>> >
>> > Note:
>> > Pyfftw moved to launchpad, new url is http://launchpad.net/pyfftw.
>> >
>> > Cheers
>> > Jochen
>> >
>> Hi Jochen,
>> this is great news and I'm eager to try it out.
>>
>> I have a few questions:
>> 1.) Do you support both single-threaded and multi-threaded ffts in one
>> installation, or would it work (only) with the kind of fft library
>> pyfftw finds at installation time ?
> Single and multi-threaded ffts are supported. Currently pyfftw assumes that
> the single- and multithreaded libraries are in the same directory (on windows
> it's actually the same file). If it can't find the threaded library at runtime
> threaded mode just does not work.
>
>> 2.) I would like to incorporate pyfftw into my image analysis package
>> (Priithon). For that I provide binary packages for Linux 32bit + 64
>> bit + windows + Mac-OSX. The question now is, if I could share the
>> same pyfftw files - as generated by "python setup.py install" on one
>> system - between those systems ?  I could see this working because you
>> are using ctypes. On the other hand, the README file talks about many
>> things that are done at installation time.
>> It even says, that the FFTW_PATH environment variable is overwritten
>> if the situation at installation time would somehow compete with it.
>>
> FFTW_PATH at runtime always overrides the installtime location, maybe I need to
> make this clearer in the README. However, this
> probably does not really help your case. The problem is that it's not really
> simple to detect the fftw library with ctypes in a cross-platform way.
> Especially if fftw is not installed in a system directory (which somehow seems
> to be the norm on Windows). I'm still not entirely sure that the way I'm doing
> things currently is the best way, so I'm always open to suggestions. I'll
> think about if there's a better way of doing this
>
> Cheers
> Jochen
>

Thanks for the reply,
another question: quote from the README:
"""
!IMPORTANT!
Because the plan uses pointers to the data of the arrays you cannot perform
operations on the arrays that change the data pointer.
"""
However, the fftw docs that I remember (found) says:
"Once the plan has been created, you can use it as many times as you
like for transforms on arrays of the same size."
( http://www.fftw.org/fftw2_doc/fftw_2.html )

Has this changed from FFTW2 to FFTW3 ?
It would really limit the use of plans, and make overall FFTs much
slower. In my specific case I very often have 512x512 single-precision
real arrays (images), that I would do ffts over and over again. But
the pointers would change ....

-Sebastian



More information about the SciPy-User mailing list