Date: Apr 1, 2013 11:22 AM
Author: Steven Lord
Subject: Re: Which fft package does matlab use?



"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message
news:kjbohi$n1$1@newscl01ah.mathworks.com...
>> GFlopsMM(s) = NIter*2*size(A,1)^3/1e9/t;
>> GFlopsFFT(s) = NIter*5*N*log2(N)*N/1e9/t2;

>
> So you assume that:
>
> (1) the computer does not use any multi-threading during MM or FFT?
> (2) MATLAB matrix multiplication is O(n^3) (which is not the optimal)?
> (3) memory access data are negligible (usually not right)?


(4) Performance is the only goal or the main goal behind FFT
implementations.

Getting the correct answer quickly is best. [*]
Getting the correct answer slowly is good.
Getting the wrong answer slowly is bad (because you're likely to investigate
the code for performance improvements, which may lead you to detect that the
code returns the wrong answer.)
Getting the wrong answer quickly is worst.

Taking this beyond the logical extreme: MATLAB could be very, very fast if
it simply returned [] for all operations. Of course, that wouldn't be very
useful now would it?


[*] Different applications have different definitions of "the correct
answer" -- for instance, this wouldn't satisfy the definition used by
MATLAB:

http://en.wikipedia.org/wiki/Fast_inverse_square_root

But for Quake 3's graphics calculations, it was good enough.

--
Steve Lord
slord@mathworks.com
To contact Technical Support use the Contact Us link on
http://www.mathworks.com