mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-02 13:04:42 +01:00
100 lines
4.9 KiB
Text
100 lines
4.9 KiB
Text
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!
|
|
|