Opinions on packaging ATLAS (for the x86 architecture)

Jonathan Underwood jonathan.underwood at gmail.com
Fri Sep 25 14:57:54 UTC 2009


2009/9/25 Deji Akingunola <dakingun at gmail.com>:
> Hi all,
>
> I would like to know your opinion (or any guideline, if it exists) for
> the best way to package the ATLAS library for the x86 arch ATM. ATLAS
> (Automatically Tuned Linear Algebra Software) basically provides
> lapack and blas libraries tuned and optimized for specific cpu
> instruction sets, and speed-ups derived from it are very significant.
> The library is mostly used for scientific applications, but I've heard
> gnome-games also uses it to enhance one of its games.
> Currently its packaging for Fedora on the x86_32 arch creates 3
> variants (sub-packages) based on the SSE instruction sets -
> atlas-sse(1), atlas-sse2, and atlas-sse3, and just recently we gained
> the ability to build it for CPUs without SSE. I am trying to decide
> which variant to provide as the default one that would be picked to
> satisfy atlas library dependency out of the following 2 possibilities;
>
> i). Create a generic x86 'atlas' main package for the P6 architecture,
> which is a non-SSE and minimum CPU that Fedora can support ATM.
> atlas-sse, atlas-sse2, and atlas-sse3 would then be sub-packages that
> users will have to specifically install to benefit from the atlas
> optimizations.
>
> ii). According to smolt statistics, cpus with speeds <= 512 MHz (which
> is a superset of the non-SSE P6 architecture) is only 0.8% of Fedora
> install-base, and cpus with speed >2 GHz (which are subset of SSE2
> capable cpus)
> are more than 58%. Therefore to support the majority, the main 'atlas'
> package will be the sse2 variants, which will provides 'atlas-sse2'
> and there will be sub-packages for atlas-no_sse, atlas-sse, and
> atlas-sse3.
>
> I personally favour the second option, as I think most people just
> installing 'atlas' (who might not have seen the package descriptions)
> will likely get the better optimized variant.  Right now the
> 'atlas-sse2' subpackage provides 'atlas', but yum will select the
> 'atlas-sse' subpackage to satisfy library dependence for libatlas
> (shortest name win scenario).

Would it not be best to have the default package using the default
CFLAGS for consistency with the rest of the distribution, and the
subpackages being variants which override the CFLAGS?

Jonathan

ps. Any recent thoughts on BZ 478856?




More information about the fedora-devel-list mailing list