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