- Dropped x86_64-SSE2, ix86-SSE1, ix86-3DNow, z10, z196 (uncompilable). - Modified incompatible patches. - Added armv7neon support, modified archdef from softfp abi to hard abi. - Modified Make.lib to include build-id, soname, versioned library name and symlinks. - Now builds monolithic libsatlas (serial) and libtatlas (threaded) libraries with lapack and blas included. - Lapack source tarball needed instead of static library. - Disabled cpu throttling detection again (sorry, could not work on atlas otherwise, feel free to enable yet again - atlas-throttling.patch). - Removed mentions of "Fedora" to promote redistribution. - Modified parts of atlas.spec sometimes left in place, work still in progress, cleanup needed.
48 lines
1.8 KiB
Plaintext
48 lines
1.8 KiB
Plaintext
Notes on the packaged version of ATLAS
|
|
|
|
by Quentin Spencer
|
|
updated: October 4, 2005
|
|
|
|
updated by Deji Akingunola
|
|
October 15, 2008
|
|
|
|
updated by Deji Akingunola
|
|
June 15, 2011
|
|
|
|
updated by Frantisek Kluknavsky
|
|
Nov 20, 2012
|
|
|
|
Because ATLAS relies on compile-time optimizations to obtain improved
|
|
performance over BLAS and LAPACK, the resulting binaries are closely
|
|
tied to the hardware on which they are compiled, and can likely result
|
|
in very poor performance on other hardware. For this reason,
|
|
including a package like ATLAS in Fedora requires some compromises.
|
|
Optimizing ATLAS for the most modern hardware can result in
|
|
significant performance penalties for users using the same package on
|
|
older hardware. A binary ATLAS package must perform reasonably well on the
|
|
entire range of hardware on which it could potentially be installed.
|
|
|
|
The result is a set of libraries that will not
|
|
necessarily achieve optimal performance on any given hardware but
|
|
should still offer significant performance gains over the reference
|
|
BLAS and LAPACK libraries on most hardware.
|
|
|
|
In addition to the base 32bit build, subpackages are built for SSE, SSE2,
|
|
and SSE3 ix86 extensions.
|
|
|
|
On 64bit x86 systems the default atlas package was built with SSE3
|
|
optimization.
|
|
|
|
This packaging allows multiple installation of different atlas sub-packages
|
|
at the same time. The alternatives system (read 'man alternatives' for usage)
|
|
is used in the -devel subpackages to select the appropriate location for the
|
|
architectural dependent header files.
|
|
|
|
For users who want optimal performance on
|
|
particular hardware, custom RPMs can be built from the source package
|
|
by setting the RPM macro "enable_native_atlas" to a value of 1. This
|
|
can be done from the command line as in the following example:
|
|
|
|
rpmbuild -D "enable_native_atlas 1" --rebuild atlas-3.8.3-1.src.rpm
|
|
|