[PlanetCCRMA] Fftw3

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Wed Nov 24 16:05:05 2004


On Wed, 2004-11-24 at 15:29, William M. Quarles wrote:
> The program that seems that it would be most dependent on 
> architecture/instruction calls would be Fftw3.  It's not optimized for 
> i586 or i686, only i386.  AMD K6 and cousins might prefer i586, big boy 
> Athlon would obviously prefer athlon, Intel would prefer i686, and 
> pentium4 architecture for P4s.  However, those optimizations have to be 
> specified during the configure stage before compile-time.  You can't 
> choose both Intel (SSE) and AMD (3DNow!) optimizations at the same time, 
> can you?

Why do you say so?
>From the Planet CCRMA repository directory tree:

planetccrma/mirror/fedora/linux/planetccrma/1/i386/fftw3-3.0.1-1.rhfc1.ccrma.athlon.rpm
planetccrma/mirror/fedora/linux/planetccrma/1/i386/fftw3-3.0.1-1.rhfc1.ccrma.i386.rpm
planetccrma/mirror/fedora/linux/planetccrma/1/i386/fftw3-3.0.1-1.rhfc1.ccrma.i586.rpm
planetccrma/mirror/fedora/linux/planetccrma/1/i386/fftw3-3.0.1-1.rhfc1.ccrma.i686.rpm

so yes, I'm building those packages with multi architecture
optimizations. 

An additional comment (this has surfaced in various mailing lists
several times): on most programs the optimizations may not do much, if
anything. On modern Intel cpus the advantage of the extra instructions
is in practice pretty much nil. What does make a difference is the
instruction ordering and you can optimize that separately from the
actual mix of instructions used (ie: you can build a binary that has
instruction ordering optimized for i686 but only uses i386
instructions). That is how all redhat packages are built (and why it
does not really make sense to have a "i686" version of them). On athlon
cpus instruction even ordering is pretty much irrelevant...

-- Fernando