Opened 12 years ago

Last modified 9 years ago

#10508 closed enhancement

Update ATLAS to version 3.9.32 — at Initial Version

Reported by: vbraun Owned by: tbd
Priority: major Milestone: sage-5.10
Component: packages: standard Keywords: ATLAS spkg
Cc: dimpase, fbissey, leif, kcrisman Merged in:
Authors: Reviewers:
Report Upstream: Reported upstream. No feedback yet. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


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/ instead of path/lib/ 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:

   If this environment variable is set, path/ 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 

     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,

   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, 


   would be appropriate for a Core i7 CPU.

The current spkg version is at

Change History (0)

Note: See TracTickets for help on using tickets.