diff options
Diffstat (limited to 'libraries/atlas/README.SLACKWARE')
-rw-r--r-- | libraries/atlas/README.SLACKWARE | 207 |
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! |