136 lines
6.5 KiB
Plaintext
136 lines
6.5 KiB
Plaintext
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.
|
|
|
|
|