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