slackbuilds/libraries/atlas/README.SLACKWARE

101 lines
4.9 KiB
Plaintext

ATLAS (Automatically Tuned Linear Algebra Software) is an ongoing
research effort focusing on applying empirical techniques in order to
provide portable performance. At present, it provides C and Fortran77
interfaces to a portably efficient BLAS implementation, as well as a few
routines from LAPACK.
IMPORTANT NOTES:
1) Please note that the present SlackBuild for ATLAS does by no means
try to take into account all configuration/build issues of ATLAS.
Nevertheless, the relevant patches mentioned in the ATLAS Errata
are applied.
2) The script takes advantage of the fact that the compilers shipped with
Slackware should be OK. It also assumes that you are installing on an x86
or x86_64 platform. If you decide to use other compilers or install on
another platform, you are unfortunately on your own and welcome to suggest
improvements or patches to this SlackBuild. Moreover, there is no "post
install" tuning performed.
3) ATLAS does not conflict with the reference netlib BLAS (see also note 6).
Nevertheless, if ATLAS got installed successfully you should consider removing
netlib BLAS and (re)compiling every BLAS dependent package (starting with
LAPACK) against ATLAS. Otherwise you may not have much gain from installing
ATLAS and may even get into problems (see next note).
4) There is a strong interaction between ATLAS and LAPACK. If you want to install
ATLAS just for testing and avoid problems with LAPACK you are urged to make
use of the SYS_DESTDIR variable as explained later. Otherwise consider the
following:
a) It is not recommended to install LAPACK just along ATLAS, i.e. without building
it against ATLAS. Moreover, if LAPACK is already installed you have to first
remove it and later on build it against ATLAS.
b) If ATLAS+LAPACK doesn't work for you, just stick with (netlib) BLAS+LAPACK.
Netlib BLAS is also available as a SlackBuild.
c) If ATLAS+LAPACK is installed you have to recompile and reinstall LAPACK after
each ATLAS upgrade.
5) ATLAS conflicts with cblas.
6) You have to have netlib BLAS installed before you install ATLAS. As stated
above, you should consider removing it from your system afterwards.
INSTALLATION DETAILS:
1) Make sure CPU throttling is off before starting the install. This is
important, since ATLAS has to tune itself.
2) For the same reason, keep the load on the system as low as possible
while building ATLAS.
3) There are a few extra variables which you may want or need
to give appropriate values when calling the atlas.SlackBuild:
MAX_MALLOC, REF_BLAS, USE_ARCH_DEFAULTS, SYS_DESTDIR and
DEFAULT_DOCS.
MAX_MALLOC is for adjusting the maximal size IN BYTES(!) that ATLAS
is allowed to allocate. According to the ATLAS errata, a too small
value may strongly reduce threaded performance. The default value
within this SlackBuild corresponds to 256MB. (The default value in
the ATLAS source corresponds to 64MB.)
REF_BLAS defaults to the full path to the netlib BLAS library as
installed from the appropriate SlackBuilds.org script. If you have
the netlib BLAS elsewhere, you have to set the appropriate
value to this variable.
USE_ARCH_DEFAULTS defaults to "yes", which means that the library
will be optimized by trying to take into account former builds done
on a similar machine. Thus ATLAS will use predefined optimizations
if available. This may reduce (much) the compilation time but may
not give you the best result if you don't use the same compiler
version (gcc 4.2) as the ATLAS author.
Please note that with this variable set to "no", or if there are no
known optimizations for your machine ATLAS compilation lasts for
about three hours! Take a nap :-)
SYS_DESTDIR is set by default to "/usr" and is the system destination
directory. When installing the package produced by this SlackBuild,
ATLAS's files will be written to $SYS_DESTDIR/include,
$SYS_DESTDIR/include/atlas and $SYS_DESTDIR/lib (or lib64).
Documentation files are written to /usr/doc/atlas-$VERSION if not
otherwise stated (see below).
You may want to change the value of SYS_DESTDIR to avoid conflicts (see
IMPORTANT NOTES above). IMPORTANT: SYS_DESTDIR has to have an absolute
path as value.
DEFAULT_DOCS has the default value "yes", which means that docs go
to /usr/doc/atlas-$VERSION, but you may want to let the docs to
go to $SYS_DESTDIR/doc/atlas-$VERSION. For this, just set this
variable to something like "no".
All these settings may be done the usual way on the command line when
calling this SlackBuild, you do not have to edit the script.
If you also installed the LAPACK linked against ATLAS, consider the following:
"IMPORTANT: If you are actually updating this library, i.e. ATLAS, you MUST also
rebuild and reinstall LAPACK, even if there is no update available for LAPACK!
Otherwise you end up with an broken/incomplete LAPACK library!