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