multilib paths and packaging for processor-specific extensions

Quentin Spencer qspencer at ieee.org
Mon Sep 19 15:18:52 UTC 2005


I'm working on packaging ATLAS (speed-optimized version of BLAS/LAPACK) 
for Fedora Extras, and I've run into some questions that haven't been 
satisfactorily answered yet on the extras mailing list, and don't appear 
to be well documented, so I'm trying here. Before I ask my questions, 
let me answer in advance the anticipated question about the necessity of 
processor-specific libraries in this particular case. Using a simple 
test case, I was able to measure approximately a 3x speedup over the 
base BLAS libraries using the base atlas i386 libraries, and a 10x 
speedup using sse2 extensions (there is some hand-coded assembly 
involved to achieve some of these gains).

My first question is regarding multilib paths for processor-specific 
extensions (SSE, etc). I see that gmp installs some libraries in 
/usr/lib/sse2, and my system picks them up automatically. If a library 
(ATLAS in this case) can be compiled for SSE and 3Dnow as well, what are 
the correct paths for those (/usr/lib/sse, /usr/lib/3dnow)? I can't find 
any examples to help me here (other than gmp), so if someone can point 
one out, that would be helpful. Also, if a library is found in 
/usr/lib/sse2 and in a different path listed in /etc/ld.so.conf.d, which 
one takes precendence? Is any of this documented anywhere?

My second question is what are people's opinions about including all 
architecture-specific libraries in a single i386 package vs. separating 
them into subpackages. A base set of atlas libraries is a 5 MB package 
(and bigger installed of course), part of the reason I think that the 
Debian packages for atlas are all separated into subpackages (atlas-sse, 
etc).

Thanks,
Quentin




More information about the devel mailing list