summaryrefslogtreecommitdiff
path: root/libraries/atlas/README.SLACKWARE
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/atlas/README.SLACKWARE')
-rw-r--r--libraries/atlas/README.SLACKWARE207
1 files changed, 121 insertions, 86 deletions
diff --git a/libraries/atlas/README.SLACKWARE b/libraries/atlas/README.SLACKWARE
index 3d7d9be243..826d5ddcf5 100644
--- a/libraries/atlas/README.SLACKWARE
+++ b/libraries/atlas/README.SLACKWARE
@@ -1,100 +1,135 @@
-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:
+IMPORTANT NOTES
+
+1) The present SlackBuild for ATLAS does by no means try to take into account
+ all configuration/build issues of ATLAS. Nevertheless, any relevant patches
+ mentioned in the ATLAS Errata are applied.
+
+2) The script mostly assumes that you are installing on an x86 or x86_64
+ platform and use gcc for compilation. 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. There is one small
+ exception to this: the USE_DWALL variable, see below.
+
+3) There is no "post install" tuning performed by this script.
+
+4) ATLAS does not conflict with the reference netlib BLAS. Nevertheless, if
+ ATLAS got installed successfully you should consider removing netlib BLAS and
+ (re)compiling every BLAS/LAPACK dependent package. Otherwise you may not have
+ much gain from installing ATLAS.
+
+5) There is a strong interaction between ATLAS and LAPACK. By default ATLAS
+ implements an optimized subset of LAPACK and creates the corresponding static
+ library. Nevertheles, provided that the full LAPACK source is available,
+ ATLAS builds a complete LAPACK library linked against its optimized BLAS
+ implementation. This is what the atlas SlackBuild does by default. You may
+ decide that you don't what this, then make use of the LAPACK_SOURCE variable
+ (see below).
+
+
+INSTALLATION DETAILS
1) Make sure CPU throttling is off before starting the install. This is
- important, since ATLAS has to tune itself.
+ important, since ATLAS has to tune itself. As with Slackware 14.2 you
+ can run /etc/rc.d/rc.cpufreq as root with "performance" as command line
+ argument. To reset, run it again with what gets set at boot time (by
+ default "ondemand") as command line argument.
-2) For the same reason, keep the load on the system as low as possible
+2) For the same reason, keep the extra 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.)
+GENERIC SETUP VARIABLES
+
+1) SYS_DESTDIR is set by default to "/usr" and is the system destination
+ directory. When installing the package produced by this SlackBuild,
+ ATLAS's and LAPACK'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. If
+ you do so, you have to make sure that these libraries and corresponding
+ headers are found by the compiler or the configuration software used
+ to build code depending on them.
+ IMPORTANT: SYS_DESTDIR has to have an absolute path as value.
+
+2) 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 go
+ to $SYS_DESTDIR/doc/atlas-$VERSION. For this, just set this
+ variable to "no".
+
- 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.
+SETUP VARIABLES FOR ATLAS
- USE_ARCH_DEFAULTS defaults to "yes", which means that the library
+1) 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.
+ not give you the best result if you don't use the same gcc compiler
+ version 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 :-)
+ known optimizations for your machine ATLAS compilation may last for
+ many hours! Take a nap :-)
+ NOTE: On the machine of this SlackBuild's author setting
+ USE_ARCH_DEFAULTS to "no" provided libraries with definitely
+ better performance. Compilation took about six hours.
+
+2) ARCH_DEF_DIR has different meanings, depending on the value of
+ USE_ARCH_DEFAULTS:
+ a) If USE_ARCH_DEFAULTS is "yes" and you have some custom architectural
+ defaults, then you may set this to the absolute path of the directory
+ containing the file with your custom defaults.
+ b) If USE_ARCH_DEFAULTS is "no" and you would like to create custom
+ architectural defaults then set this to the absolute path of the
+ directory which should contain the file with the custom defaults.
+ NOTE: Since this file is supposed to survive an upgrade, it doesn't
+ get included in the Slackware package. You have to remove it
+ by hand, if needed. A file named "ARCH_DEF_DIR" gets written
+ to the documentation directory, to remind you where the created
+ architectural defaults are. Make a backup of it, since it may
+ get deleted with an upgrade.
+ ARCH_DEF_DIR defaults to the empty string, which means that neither your
+ custom defaults are used nor custom defaults are created.
+
+3) USE_DWALL defaults to "no" which should be OK for x86 or x86_64 and the gcc
+ compiler. If you are on another architecture than x86 and/or don't use gcc
+ you need to set it to "yes".
+
+4) L2_CACHE_SIZE provides the size of the level 2 cache in bytes. By default it
+ is deduced from /proc/cpuinfo but you can just set the value manually, if you
+ wish or need so.
+
+5) NUM_THREADS allows you to set the maximum number of threads. By default it
+ is "-1", which means autodection. In this case it gets set equal to the
+ number of available processors.
+
+6) USE_PROCESSORS is by default the empty string, which means that any of the
+ available processors may be used. Nevertheless, under some circumstances,
+ one may want to specify the processor IDs, e.g. "0 2 4". Please consult
+ atlas_install.pdf, p. 13 for more informations.
+ NOTES: a) This is incompatible with the autodetection of the number of
+ threads. Therefore NUM_THREADS must be greater than 1.
+ b) Write just the processor IDs to this string, the script takes
+ care of the rest. Take care to have NUM_THREADS equal to the
+ amount of processor IDs.
+
+7) SHARED_SWITCH is set by default to ask for building shared libs along with
+ the static ones. Set this to the empty string, if you don't want to have
+ shared libs.
+
+
+SETUP VARIABLES FOR LAPACK
+
+1) LAPACK_SOURCE set this variable to the empty string, if you don't want for a
+ full LAPACK library to get build.
+
+2) TEST_LAPACK set this variable to "yes" if you would like to run the LAPACK
+ tests. You will find the results of the tests in the documentation directory.
+ This has no relevance, if you didn't allow for a full LAPACK build.
+
+3) LAPACK_TIMER sets the timer to be used for LAPACK. If you stay with
+ gfortran, presently the default compiler on Slackware, you can leave the
+ value as is. Otherwise, set it to "NONE" or read LAPACK's make.inc.example
+ for more informations.
+ This has no relevance, if you didn't allow for a full LAPACK build.
- 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!