[PlanetCCRMA] Fftw3

William M. Quarles walrus at bellsouth.net
Wed Nov 24 16:23:01 PST 2004


Fernando Lopez-Lezcano wrote:
> 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. 

Are those new?  OK, apparently I didn't check up on the facts before 
installing.  Maybe that's why APT is complaining

Anyway, what about the flags during the configuration stage?  As far as 
I recall, the program is not making use of SSE or 3DNow! if those aren't 
specified.

> 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...

I rebuilt Fedora Core 2 Mozilla SRPMS for Fedora Core 1 with the missing 
$RPM_OPT_FLAGS replaced and using --target=i686.  It starts A LOT faster 
than the i386 compilations.  However, this particular does not actually 
include i686 scheduling since the $RPM_OPT_FLAGS is not used, neither in 
the source code nor in the spec file (and many other Red Hat pacakges 
are that way as well).

Peace,

William




More information about the PlanetCCRMA mailing list