#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.


Reply via email to