[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDL FFT vs C benchmark?

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
> 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