[clean-list] Re: 3. 2 dimensional FFT code

Siegfried Gonzi siegfried.gonzi@kfunigraz.ac.at
Thu, 08 Nov 2001 13:02:10 +0100


clean-list-admin@cs.kun.nl schrieb:

>   3. 2 dimensional FFT code (Siegfried Gonzi)
>
> Timings:
>
> This is strange. The following is valid for a 450MHz Pentium III machine with 128MB RAM.
>
> A 1024x1240 2-dimensional FFT takes in the best cases 4sec. The problem is that the output results (the DOS window) are always slightly higher than the timing results (maybe the timing-profile overhead is taken into
> account).
>
> Yorick takes for a 1024x1204 complex transform 2sec. The Yorick times are *always* constant! With Clean it can happen that the program runs 10sec, or often 5sec; but 4sec are the best results.
>
> The Yorick code itself is not very fast (compared to IDL or Matlab); okay IDL is very expensive I wouldn't be surprised that they have implemented a highly tuned one or even an assembler-version.
>

Thank you Mr. Gonzi for the FFT code, but let me put in a few remarks. I tried your version on a Sun 750MHz. Though there 3 users currently logged-in, I think a benchmark compared to Scilab is acceptable:

1024x1024 complex FFT in Clean (unboxed arrays):

3sec


1024x1024 FFT in Scilab:

7sec.

On the same machine and nearly at the same time. The Scilab array is not exactly the same as the Clean array. I am not a qualified Scilab programmer, but I think the figures would'nt change otherwise:

Scilab code:

t1=timer(); a= rand(1024,1024); a= a*(2.34+%i*2.45); s= fft(a,1); t2=timer(); t1, t2


I did not try it with the new Clean Sun release. I have been too busy  the last days.

And last but not least:

Yorick takes on the Sun for a 1024x0124 complex FFT:

2sec


I did run the benchmarks for every program (Clean, Scilab, Yorick) 3 times to avoid outliers; but the times have been constant for all 3 trials.


S. Gonzi