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