Opened 12 years ago

Last modified 9 years ago

#10508 closed enhancement

Update ATLAS to version 3.9.32 — at Initial Version

Reported by: Volker Braun Owned by: tbd
Priority: major Milestone: sage-5.10
Component: packages: standard Keywords: ATLAS spkg
Cc: Dima Pasechnik, François Bissey, Leif Leonhardy, Karl-Dieter Crisman Merged in:
Authors: Reviewers:
Report Upstream: Reported upstream. No feedback yet. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Update to the developer release atlas-3.9.32 according to advice of Clint Whaley. The new atlas release now builds netlib lapack itself, so the lapack tarball is now included in /patches. The lapack spkg is no longer needed and will be removed.

I rewrote the ATLAS spkg-install (see also #10226) to

  • python only without relying on other script languages
  • allow customization of architectural defaults via the new SAGE_ATLAS_ARCH environment variable.
  • still build a reasonable library if the automatic tuning process fails to find accurate timings.
  • 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. Whats the point of trying to squeeze more performance out of modern processors if you run on one core only?

By default, ATLAS will now try twice to get timings, if that fails build with SAGE_ATLAS_ARCH=fast, and if that fails with SAGE_ATLAS_ARCH=base.

From the new SPKG.txt:

The package can be configured via two environment variables:

 * SAGE_ATLAS_LIB=path
   If this environment variable is set, path/libatlas.so is used
   and ATLAS is not compiled.

 * SAGE_ATLAS_ARCH=arch[,isaext1][,isaext2]...[,isaextN]
   The given architectural default and instruction set extensions are
   used instead of the empirical tuning. Available architectures are 

     POWER3, POWER4, POWER5, PPCG4, PPCG5, POWER6, POWER7, P5, P5MMX,
     PPRO, PII, PIII, PM, CoreSolo, CoreDuo, Core2Solo, Core2, Corei7,
     P4, P4E, Efficeon, K7, HAMMER, AMD64K10h, UNKNOWNx86, IA64Itan,
     IA64Itan2, USI, USII, USIII, USIV, UST2, UnknownUS, MIPSR1xK,
     MIPSICE9

   and instruction set extensions are 
   
     VSX, AltiVec, SSE3, SSE2, SSE1, 3DNow   

   In addition, you can also set

    - SAGE_ATLAS_ARCH=fast picks defaults for a modern (2-3 year old)
      CPU of your processor line, and 

    - SAGE_ATLAS_ARCH=base picks defaults that should work for a ~10
      year old CPU.

   For example, 

     SAGE_ATLAS_ARCH=Corei7,SSE3,SSE2,SSE1

   would be appropriate for a Core i7 CPU.

The current spkg version is at

http://www.stp.dias.ie/~vbraun/Sage/spkg/atlas-3.9.32.spkg

Change History (0)

Note: See TracTickets for help on using tickets.