Shutting down the Atlas port

Fred Wright fw at
Fri Nov 6 00:43:36 UTC 2020

On Thu, 5 Nov 2020, Ryan Schmidt wrote:
> On Nov 3, 2020, at 04:52, Vincent Habchi wrote:
>> Atlas, the software meant to provide scientific computing tools with a high-performance assembly-based library has, IMHO, reached its end of life.
>> My case is this:
>> • Last developer (unstable) release is more than two years old;
>> • Last stable release is twice older (2016);
>> • Consequently, ASM snippets Atlas relies on might not be up to date with the latest Intel processors;
>> • Atlas will prolly never be ported to the new ARM-based architecture Apple is about to unveil;
>> • The method used by Atlas to select the best assembly snippet (a.k.a “kernel”) for a given computation task is defeated by the power saving steps included in recent versions of MacOS, namely a gradual lowering of the priority of any power consuming task. This can lead to erratic, non-reproducible, and sub-optimal choices, rendering Atlas pointless;
>> • Atlas build time from sources varies around 3 to 4 hours, regardless of the number of cores available (the selection process is mono-threaded), which makes Atlas cumbersome to build, and still more cumbersome to debug, barring on the quickest machines;
>> • Since Atlas is CPU-based, no precompiled binaries should be available: at best, they will be suboptimal; at worse, they could contain unknown instructions old CPUs would crash on.
>> For all these reasons, I’m convinced that pulling the plug on Atlas is a good idea. Any thoughts?
> Can all of the ports that currently depend on atlas be made to work correctly without atlas? If so, that would probably be the first step. You can't remove atlas while other ports depend on it.
> R
> esmf
> gr-specest
> itpp
> levmar
> lua-numlua
> nco
> psfex
> py-numpy
> py-scipy
> scamp
> shogun
> shogun-devel
> source-extractor
> stimfit
> sundials
> sundials2

That's an incomplete list.  For example:

MacPro:~ fw$ port installed $(port dependents atlas | awk '{print $1}')
The following ports are currently installed:
   arpack @3.7.0_0+atlas+gfortran (active)
   qrupdate @1.1.2_6+atlas+gcc48 (active)
   SuiteSparse_SPQR @2.0.8_0+atlas
   SuiteSparse_SPQR @2.0.9_0+atlas
   SuiteSparse_SPQR @2.0.9_1+atlas (active)

I believe all three of those ports have alternative variants with similar 
functionality, but one has to be careful to distinguish such cases from 
cases where atlas is the only means of providing its functionality.

Fred Wright

More information about the macports-dev mailing list