summaryrefslogtreecommitdiff
path: root/libraries/atlas/README.SLACKWARE
blob: 3d7d9be243a3d73d93908453d8b24d3133f5dc1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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!