~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to doc/LibReadme.txt

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot, Sylvestre Ledru, Sébastien Villemot
  • Date: 2013-06-11 15:58:16 UTC
  • mfrom: (1.1.4) (25 sid)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: package-import@ubuntu.com-20130611155816-8xeeiziu1iml040c
Tags: 3.10.1-1
[ Sylvestre Ledru ]
* New upstream release (Closes: #609287)

[ Sébastien Villemot ]
* Provide architectural defaults (i.e. precomputed timings) for all
  release archs (except armel and mips for the time being, due to slow
  porterboxes). This will make the package build much faster and should
  eliminate transient build failures due to excessive variance in the
  timings.
* Move symlinks for lib{cblas,f77blas,atlas,lapack_atlas} out of the
  libblas.so.3 alternative and make them always present, so that
  software relying on these libs do not break when another alternative
  is selected for BLAS
* ATLAS now has improved ARM support with native asm constructs. This required
  the following tunes:
  + armel-is-v4t.diff: new patch, prevents FTBFS on armel; otherwise,
    ATLAS uses asm constructs too recent for the platform (armel is only v4t)
  + debian/rules: on armhf, define the ATL_ARM_HARDFP flag; otherwise the asm
    constructs use the soft-float ABI for passing floating points
  + on armhf, ensure that -mfloat-abi=softfp and -mcpu=vfpv3 flags are never
    used; this is implemented via a patch (armhf.diff) and by the use of fixed
    archdefs
* The generic package is now built without multi-threading, because otherwise
  the package fails to build on some single-processor machines (this required
  the introduction of a patch: fix-non-threaded-build.diff). As a side effect,
  the build of the custom package gracefully handles non-threaded
  builds. (Closes: #602524)
* Add libblas.a as slave in the libblas.so alternative (Closes: #701921)
* Add symlinks for lib{f77blas,atlas}.a in /usr/lib (Closes: #666203)
* Modify shlibs file of libatlas3-base, such that packages using
  libblas/liblapack depend on any BLAS/LAPACK alternative, while packages
  depending on ATLAS-specific libraries (e.g. libatlas.so) depend specifically
  on libatlas3-base.
* corei1.diff: remove patch, applied upstream
* Use my @debian.org email address
* Remove obsolete DM-Upload-Allowed flag
* Switch VCS to git
* Remove Conflicts/Replaces against pre-squeeze packages
* libatlas-base-dev now provides libblas.so, as libblas-dev
* No longer use -Wa,--noexecstack in CFLAGS, it makes the package FTBFS
* Do not use POWER3 arch for powerpcspe port (Closes: #701068)
* Bump to debhelper compat level 9
* README.Debian: mention that devscripts is needed to compile the custom
  package (Closes: #697431)
* Bump Standards-Version to 3.9.4. As a consequence, add Built-Using
  fields because the package embeds stuff from liblapack-pic

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
                information about the installation machine.
7
7
cblas.h       : The C header file for the C interface to the BLAS.
8
8
clapack.h     : The C header file for the C interface to LAPACK.
9
 
liblapack.a   : The LAPACK routines provided by ATLAS.  If you want a full
10
 
                lapack library, the .o in this lib can be archived into the
11
 
                f77 lapack lib without error.
 
9
liblapack.a   : The serial LAPACK routines provided by ATLAS.
12
10
libcblas.a    : The ANSI C interface to the BLAS.
13
11
libf77blas.a  : The Fortran77 interface to the BLAS.
14
12
libatlas.a    : The main ATLAS library, providing low-level routines for all
15
13
                interface libs.
16
14
 
17
 
Your archive may also contain additional libraries, if it has posix thread
 
15
Your archive may also contain additional libraries, if it has parallel thread
18
16
support.  These optional libs are:
19
17
 
20
18
libptcblas.a    : The ANSI C interface to the threaded (SMP) BLAS.
21
19
libptf77blas.a  : The Fortran77 interface to the threaded (SMP) BLAS.
 
20
libptlapack.a   : The parallel LAPACK routines provided by ATLAS.
22
21
 
23
22
********************************* LINKING *************************************
24
23
When linking, remember that order is important.  So, if you want uniprocessor
25
24
libs, your link line would contain IN THIS ORDER:
26
25
   -LLIBDIR -llapack -lcblas -lf77blas -latlas
27
26
And if you want to utilize an SMP version, it would be:
28
 
   -LLIBDIR -llapack -lptcblas -lptf77blas -latlas
 
27
   -LLIBDIR -lptlapack -lptcblas -lptf77blas -latlas
29
28
 
30
29
NOTE: On Apple's OS X, the above won't work, since system directories are
31
30
searched before the -L directories.  OS X includes ATLAS internally, so
34
33
library using the full path, rather than using the -L/-l combo.
35
34
 
36
35
************************** GETTING A FULL LAPACK LIB **************************
37
 
ATLAS does not provide a full lapack library.  However, there is a simple way
38
 
to get ATLAS to provide its faster LAPACK routines to a full LAPACK library.
39
 
ATLAS's internal routines are distinct from LAPACK's, so it is safe to compile
40
 
ATLAS's LAPACK routines directly into a netlib-style LAPACK library.
41
 
If you install LAPACK before ATLAS, this can be automated as described in
42
 
ATLAS/INSTALL.txt.  The following describes adding netlib LAPACK to an
43
 
already built ATLAS library:
44
 
 
45
 
First, obtain the LAPACK src from netlib and build the LAPACK library as
46
 
normal.  Then, in the lib/ subdirectory of your ATLAS build directory
47
 
(where you should have a liblapack.a), issue the following commands:
48
 
  mkdir tmp
49
 
  cd tmp
50
 
  ar x ../liblapack.a
51
 
  cp <your LAPACK path & lib> ../liblapack.a
52
 
  ar d ../liblapack.a lsame.o xerbla.o csrot.o zdrot.o
53
 
  ar r ../liblapack.a *.o
54
 
  cd ..
55
 
  rm -rf tmp
56
 
 
57
 
Just linking in ATLAS's liblapack.a first will not get you the best LAPACK
58
 
performance, mainly because LAPACK's untuned ILAENV will be used instead
59
 
of ATLAS's slightly tuned one.
 
36
To get a full FORTRAN implementation of lapack, download netlib lapack
 
37
and use the --with-netlib-lapack-tarfile option discussed in the installation
 
38
guide.