b04b0d
Notes on the packaged version of ATLAS
b04b0d
b04b0d
by Quentin Spencer
b04b0d
updated: October 4, 2005
b04b0d
b04b0d
updated by Deji Akingunola
b04b0d
October 15, 2008
b04b0d
b04b0d
updated by Deji Akingunola
b04b0d
June 15, 2011
b04b0d
b04b0d
updated by Frantisek Kluknavsky
b04b0d
Nov 20, 2012
b04b0d
b04b0d
Because ATLAS relies on compile-time optimizations to obtain improved
b04b0d
performance over BLAS and LAPACK, the resulting binaries are closely
b04b0d
tied to the hardware on which they are compiled, and can likely result
b04b0d
in very poor performance on other hardware.  For this reason,
b04b0d
including a package like ATLAS in Fedora requires some compromises.
b04b0d
Optimizing ATLAS for the most modern hardware can result in
b04b0d
significant performance penalties for users using the same package on
b04b0d
older hardware. A binary ATLAS package must perform reasonably well on the
b04b0d
entire range of hardware on which it could potentially be installed.
b04b0d
b04b0d
The result is a set of libraries that will not
b04b0d
necessarily achieve optimal performance on any given hardware but
b04b0d
should still offer significant performance gains over the reference
b04b0d
BLAS and LAPACK libraries on most hardware.  
b04b0d
b04b0d
In addition to the base 32bit build, subpackages are built for SSE, SSE2,
b04b0d
and SSE3 ix86 extensions.
b04b0d
b04b0d
On 64bit x86 systems the default atlas package was built with SSE3
b04b0d
optimization.
b04b0d
  
b04b0d
This packaging allows multiple installation of different atlas sub-packages
b04b0d
at the same time. The alternatives system (read 'man alternatives' for usage)
b04b0d
is used in the -devel subpackages to select the appropriate location for the 
b04b0d
architectural dependent header files.
b04b0d
 
b04b0d
For users who want optimal performance on
b04b0d
particular hardware, custom RPMs can be built from the source package
b04b0d
by setting the RPM macro "enable_native_atlas" to a value of 1. This
b04b0d
can be done from the command line as in the following example:
b04b0d
b04b0d
rpmbuild -D "enable_native_atlas 1" --rebuild atlas-3.8.3-1.src.rpm
b04b0d