[LAD] vectorization

Mario Lang mlang at delysid.org
Fri Apr 18 12:33:38 UTC 2008

Jens M Andreasen <jens.andreasen at comhem.se> writes:

> On Thu, 2008-04-17 at 19:02 +0200, Mario Lang wrote:
>> No.  If you optimize code, you will only have to special case
>> a few routines.  The greater hunk of the code will stay the same on different
>> variants.  So you do not want to precompile binary packages for
>> all sorts of special CPU types and feature, that would result in
>> a huge amount of data.
> Look here:
> ftp://ftp.sunet.se/pub/Linux/distributions/Mandriva/official/current
> Up to higher level directory
> SRPMS  09/18/2007 12:00:00 AM 
> i586   04/10/2008 12:21:00 AM 
> x86_64 04/10/2008 12:21:00 AM
> Here is at least two separate identical distributions of the Intel
> "architecture", so it can be done and has happened.

No, the example you are giving has nothing to do with the topic we are
discussing.  The one version is compiled for 64bit and the other for 32bit
processors.  To claim these to variants are somehow an optimisation
for two special CPU types is really a hopeless attempt to defend
your viewpoint :-).  Hell, x86_64 even runs on CPUs of
two completely different vendors, and yes, there are differences
between an AMD64 and an EM64T CPU.

> Perhaps x86_64 will be fine-grained enough to define a pleasant platform
> seen from an audio developers perspective? Which means death to sse,
> long live sse3! :-D

Your example nicely illustrates that what
you are arguing is not going to work.  Not all x86_64 CPUs
do have SSE3.  So how would you distribute a binary file
trying to find the best performance?  You'd again have
to do (what I am trying to explain) runtime detection of the availability
of SSE3 (or whatever neato new feature of some CPU you'd like to use).

If y<ou do this at configure/compilation time, your optimisations
will not be available to users of precompiled binaries.
And, nearly every distro today (yeah, I *know* about Gentoo)
does use pre-built binaries.  If you want otimisations
to be usable to people other than those that compile software
from source, you'll *have* to do runtime detection.

  ⡍⠁⠗⠊⠕ | Debian Developer <URL:http://debian.org/>
  .''`. | Get my public key via finger mlang at db.debian.org
 : :' : | 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
 `. `'
   `-      <URL:http://delysid.org/>  <URL:http://www.staff.tugraz.at/mlang/>

More information about the Linux-audio-dev mailing list