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