#10508: Update ATLAS to stable version 3.10
-------------------------------------------------------------------------------------------------+
Reporter: vbraun
| Owner: tbd
Type: enhancement
| Status: needs_work
Priority: major
| Milestone: sage-5.9
Component: packages
| Resolution:
Keywords: ATLAS
| Work issues:
Report Upstream: Reported upstream. No feedback yet.
| Reviewers: Benjamin Jones, Karl-Dieter Crisman, Dmitrii
Pasechnik, Georg Weber, François Bissey, John Palmieri
Authors: Volker Braun, Jeroen Demeyer
| Merged in:
Dependencies: #13160, #13395, #13392, #13416, #12994, #9906, #12883,
#13123, #13415, #14344 | Stopgaps:
-------------------------------------------------------------------------------------------------+
Old description:
> The new atlas release now builds netlib lapack itself, so the lapack
> tarball is now included in the ATLAS spkg.
>
> * Updated to newest upstream source, various patches are no longer
> required
> * `SAGE_ATLAS_LIB=path` now searches in `path/libatlas.so` instead of
> `path/lib/libatlas.so` so it works for people with atlas in `/lib64`,
> too.
> * Threading is now enabled by default
> * Flush before `os.system` (#13210)
>
> Upstream has made some attempt at changing the layout of the shared
> libraries, which is now different from the static libraries. The atlas
> spkg contains a stub autoconf/libtools project that unpacks the static
> libraries and repacks them into equivalent shared libraries.
>
> By default, ATLAS will now try twice to get timings and fail immediately
> if throttling is enabled. If auto-tuning fails build with
> `SAGE_ATLAS_ARCH=fast`, and if that fails with `SAGE_ATLAS_ARCH=base`. On
> x86, the fast and base targets are the new ATLAS generic targets x86SSE3
> and x86SSE2/x86x87.
>
> The updated cvxopt spkg fixes a blas path issue on Darwin, and is rebased
> to the most recent cvxopt package to include a Cygwin fix.
>
> There is an
> [https://sourceforge.net/tracker/?func=detail&aid=3570164&group_id=23725&atid=379483
> upstream problem] where compilation sometimes crashes during `xextract`
> because of a buffer overflow due to small fixed-sized buffers for
> filenames.
>
> Updated '''spkg'''s:
> 1. [http://www.stp.dias.ie/~vbraun/Sage/spkg/atlas-3.10.0.p1.spkg],
> updated to [
> http://boxen.math.washington.edu/home/jpflori/atlas-3.10.1.p0.spkg]
> * Optionally, the next upstream
> [http://boxen.math.washington.edu/home/jpflori/atlas-3.11.8.p0.spkg]
> 2. [http://boxen.math.washington.edu/home/jpflori/cvxopt-1.1.5.p1.spkg]
>
> '''Apply''' [attachment:10508_root_after_13415.patch] to the SAGE_ROOT
> repository and [attachment:trac_10508_doctest.rebased.patch],
> [attachment:trac_10508_update_atlas_docs.patch] to the Sage repository.
>
> '''Remove''' the lapack and blas packages.
New description:
The new atlas release now builds netlib lapack itself, so the lapack
tarball is now included in the ATLAS spkg.
* Updated to newest upstream source, various patches are no longer
required
* `SAGE_ATLAS_LIB=path` now searches in `path/libatlas.so` instead of
`path/lib/libatlas.so` so it works for people with atlas in `/lib64`, too.
* Threading is now enabled by default
* Flush before `os.system` (#13210)
Upstream has made some attempt at changing the layout of the shared
libraries, which is now different from the static libraries. The atlas
spkg contains a stub autoconf/libtools project that unpacks the static
libraries and repacks them into equivalent shared libraries.
By default, ATLAS will now try twice to get timings and fail immediately
if throttling is enabled. If auto-tuning fails build with
`SAGE_ATLAS_ARCH=fast`, and if that fails with `SAGE_ATLAS_ARCH=base`. On
x86, the fast and base targets are the new ATLAS generic targets x86SSE3
and x86SSE2/x86x87.
The updated cvxopt spkg fixes a blas path issue on Darwin, and is rebased
to the most recent cvxopt package to include a Cygwin fix.
There is an
[https://sourceforge.net/tracker/?func=detail&aid=3570164&group_id=23725&atid=379483
upstream problem] where compilation sometimes crashes during `xextract`
because of a buffer overflow due to small fixed-sized buffers for
filenames.
Updated '''spkg'''s:
1. old [http://www.stp.dias.ie/~vbraun/Sage/spkg/atlas-3.10.0.p1.spkg],
or rather updated [
http://boxen.math.washington.edu/home/jpflori/atlas-3.10.1.p0.spkg] with
additional fixes to our spkg scripts and patches.
* Optionally, the next upstream
[http://boxen.math.washington.edu/home/jpflori/atlas-3.11.8.p0.spkg] which
seems completely broken at least as far as shared libraries are concerned.
2. [http://boxen.math.washington.edu/home/jpflori/cvxopt-1.1.5.p1.spkg]
'''Apply''' [attachment:10508_root_after_13415.patch] to the SAGE_ROOT
repository and [attachment:trac_10508_doctest.rebased.patch],
[attachment:trac_10508_update_atlas_docs.patch] to the Sage repository.
'''Remove''' the lapack and blas packages.
--
Comment (by jpflori):
I've updated:
* http://boxen.math.washington.edu/home/jpflori/atlas-3.10.1.p0.spkg
to include:
* the Solaris fix,
* copy correct libs on Cygwin,
* hopefully better messages about setting SAGE_ATLAS_ARCH for Cygwin and
Darwin.
About Cywgin libs, I don't copy the static LAPACK archive but rather the
import library "/usr/lib/liblapack.dll.a" (just as we did fo the BLAS one
"/usr/lib/libblas.dll.a").
This should work ok and let link to the shared LAPACK library which in my
opinion (and Volker's apparently) is better.
Note I've not actually tested this.
I did not:
* test on problematic ia64 systems, the ones I have access to (gcc60 and
gcc66) seem fine, waiting for report of people having access to skynet,
that may be considered a blocker although ia64 is not that common anymore
and not all ia64 systems seem affected...
* craft or include a fixed shared library build system for Cygwin yet, but
that should be postponed for a later ticket,
* fix the problems with fallback code/thread related functions which
prevent building on exotic systems such as linux/sparc or (old?)
darwin/ppc, but we don't support them anyway.
Note that every problem we encountered here has been reported upstream.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10508#comment:396>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.