Re: IDL FFT vs C benchmark? [message #18787] |
Mon, 07 February 2000 00:00 |
David McClain
Messages: 17 Registered: January 1999
|
Junior Member |
|
|
Actually, the IDL routines are pretty slow by comparison... More than two
years ago I investigated their performance compared to the Intel Math Kernel
Library and found that unlike the expected 2N log2 N for an NxN square image
2-D FFT, the IDL routines scaled as (N log2 N)^2 which implies a tree search
on every butterfly operation. This appaling behavior was pointed out the RSI
and they furnished the header comments from a Fortran reference that they
used for their implementation. It appears that they sacrificed speed for the
sake of arbitrary dimension FFT's. The Intel routines are strictly power of
2 but so what. I would rather have an interpolated transform to a power of 2
in size at expected speeds than to sacrifice performance due to poor scaling
of the original problem.
We now use the Intel MKL routines wrapped in a multithreaded DLL to maximize
parallel performance of FFT's. The speedup is remarkable indeed. On our old
4-processor Pentium Pro machine we reached speeds of 75 MButterflys/sec. Our
newer multiprocessors exceed that by another factor of 2-5. By comparison,
we never saw the RSI routines exceed 7-10 MButterflys/sec.
D.McClain, Sr. Scientist
Raytheon Systems Co.
Tucson, AZ
Myron Brown <Myron.Brown@jhuapl.edu> wrote in message
news:87engh$t1a$1@houston.jhuapl.edu...
> Hi. Has anybody done any benchmarking of IDL's
> FFT routines? They seem pretty fast, actually. I'm
> wondering how they compare to efficient C code.
> Perhaps someone has looked at fftpack or other
> efficient implementations of the FFT in C and compared
> them?
>
> Anyone have any idea?
>
> Thanks.
>
> Myron Brown
> Myron.Brown@jhuapl.edu
> JHU Applied Physics Laboratory
>
>
|
|
|
|