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