slackbuilds_ponce/libraries/atlas/README.SLACKWARE
Serban Udrea b89b40f061 libraries/atlas: Updated for version 3.10.3.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2016-08-28 00:22:40 +01:00

135 lines
6.5 KiB
Text

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. 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 extra load on the system as low as possible
while building ATLAS.
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".
SETUP VARIABLES FOR ATLAS
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 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 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.