[clean-list] Re: 3. 2 dimensional FFT code
Thu, 08 Nov 2001 13:02:10 +0100
> 3. 2 dimensional FFT code (Siegfried Gonzi)
> 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
> 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):
1024x1024 FFT in Scilab:
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:
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:
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.