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!