Boost logo

Ublas :

From: Neal Becker (ndbecker2_at_[hidden])
Date: 2007-03-15 13:16:01


Jeffrey Brent McBeth wrote:

> On Thu, Mar 15, 2007 at 10:18:23AM -0400, Neal Becker wrote:
>> Janek Kozicki wrote:
>>
>> > Jeffrey Brent McBeth said: (by the date of Mon, 12 Mar 2007
>> > 13:06:38 -0400)
>> >
>> >> On Mon, Mar 12, 2007 at 05:31:44PM +0100, Janek Kozicki wrote:
>> >> > how typically do people utilize ublas with Fast Fourier Transform,
>> >> > what FFT library do you use?
>> >>
>> >> We do this all the time using the Intel MKL libraries (also using the
>> >> lapack bindings for the other bits). I've done it before with the
>> >> FFTW, but not recently.
>> >
>> >
>> > many thanks for your reply, I googled for "Intel MKL libraries" and
>> > it turns out that this is a commercial library. In my circumstances
>> > it is not acceptable. But http://www.fftw.org/ looks very promising.
>
> I believe that the MKL is available free to non-commercial use, but you
> are correct, the FFTW is probably more appropriate. I last used FFTW2,
> and it wasn't too bad to get it in with uBlas. I know that FFTW3
> changed a lot of things, I hope they weren't as short sighted to make
> bindings difficult.
>
> Jeff

Here is the problem. I think this fftw3 interface doesn't work well with my code:
This is a quote from fftw3, about upgrading from fftw2:

Plans
The major difference between FFTW 2 and FFTW 3 is in the planning/execution division
of labor. In FFTW 2, plans were found for a given transform size and type, and then
could be applied to any arrays and for any multiplicity/stride parameters. In FFTW 3,
you specify the particular arrays, stride parameters, etcetera when creating the plan, and
the plan is then executed for those arrays (unless the guru interface is used) and those
parameters only. (FFTW 2 had “specific planner” routines that planned for a particular
array and stride, but the plan could still be used for other arrays and strides.) That is,
much of the information that was formerly specified at execution time is now specified at
planning time.