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