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