[LAD] vectorization

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Thu Apr 17 06:27:04 UTC 2008

On Thu, 2008-04-17 at 06:41 +0200, Jens M Andreasen wrote:
> On Wed, 2008-04-16 at 22:41 +0200, Mario Lang wrote:
> > You are not really following what I am trying to get across.  Cross compilation
> > isn't the issue.  The issue is that something as generic as i386 (or i686 for
> > rpm based distros IIRC) actually targets a lot of different types of hardware.
> > It can run on pretty old pentium based CPUs, but also modern
> > systems.  A binary distributor has no way of knowing which
> > CPU is going to be used, ...
> The distributor has one tool at his disposal, the package-manager. This
> will know where it lives and could (potentially) choose the right
> package. 

The package manager does not choose the "right package". There is no
"right package". The packager does not know on which computer the
software will be running and can't pre-optimize for something that is an
unknown at compile or packaging time. The software has to automagically
optimize itself for the processor it is running on when it starts. 

That is the way this is done in many other audio oriented software
packages (Jack, Ardour, etc). 

> For Intel vector code unfortunately, the current naming system with -386
> -586 and -686 packages isn't very helpful because what we really need to
> know is the processors mmx/sse level and wether it can deal with
> denormals in a civilized manner. (An army of programmers to take
> advantage of and verify systems we have only read about on the 'net
> would be handy as well, thankyou ..)

That is precisely why the detection of the best routines has to be done
at runtime. Look at the capabilities of the processor and then decide
which routines to use. 

-- Fernando

More information about the Linux-audio-dev mailing list