Hi,

As the maintainer of the atlas package over the last decade, I now
wonder whether we should remove it from the archive.

As a reminder, ATLAS is an optimized BLAS implementation, that fits
into our BLAS/LAPACK alternatives framework.¹ Its strategy for
achieving good performance is to adjust various internal array sizes
(at build time) so that they fit in the processor cache. It was
probably the first optimized BLAS added to Debian (in 1999).

Today, the project looks dead. The last stable release (3.10.3)
happened in 2016. The last development release (3.11.41, not packaged)
was in 2018. The git repository has seen no commit since 2019.²

Moreover, there are better alternatives. Most people today use
OpenBLAS. There is also BLIS, which can in particular be used on
architectures not supported by OpenBLAS.

Also note that ATLAS has never been really well-suited to our
distribution model. To get the most of ATLAS, you have to recompile it
locally using the specific CPU that you want to target; a generic
binary package like the one we distribute is a suboptimal solution,
since it is not adapted to the local CPU cache size.

So, given all that, I’m inclined to (try to) remove atlas during the
trixie development cycle.

There are quite a few package which (build-)depend on atlas, I attach a
list. But my guess is that these should be easily fixable, because most
(if not all) do not require ATLAS specifically. One should normally not
need to build-depend on atlas, since all our BLAS implementations are
ABI-compatible (build-depending on libblas-dev should give an
equivalent binary, unless one is doing static linking). For the
dependencies of binary packages, I guess those were added to ensure
that the user has an optimized BLAS installed; so they can probably be
replaced by something like libopenblas0 | libblis4 (keeping in mind
that since BLAS/LAPACK implementations are managed by the alternatives
system, a dependency relationship cannot enforce the implementation
used at runtime on the user machine).

Any thought on this?

Cheers,

¹ https://wiki.debian.org/DebianScience/LinearAlgebraLibraries
² https://github.com/math-atlas/math-atlas/

-- 
⢀⣴⠾⠻⢶⣦⠀  Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  https://sebastien.villemot.name
⠈⠳⣄⠀⠀⠀⠀  https://www.debian.org

sebastien@coccia:~$ dak rm -nR atlas
Will remove the following packages from unstable:
                                                     
     atlas |  3.10.3-13 | source
libatlas-base-dev |  3.10.3-13 | amd64, arm64, armel, armhf, i386, mips64el, 
mipsel, ppc64el, s390x
libatlas-doc |  3.10.3-13 | all    
libatlas-test |  3.10.3-13 | amd64, arm64, armel, armhf, i386, mips64el, 
mipsel, ppc64el, s390x
libatlas3-base |  3.10.3-13 | amd64, arm64, armel, armhf, i386, mips64el, 
mipsel, ppc64el, s390x

Maintainer: Debian Science Team 
<debian-science-maintain...@lists.alioth.debian.org>

------------------- Reason -------------------

----------------------------------------------

Checking reverse dependencies...
# Broken Depends:
ceres-solver: libceres-dev
              libceres3
colmap: colmap [amd64 arm64 i386 mips64el mipsel ppc64el s390x]
dune-common: libdune-common-dev
emmax: emmax
ergo: ergo
iml: libiml0
nipy: python3-nipy-lib [armel mipsel]
psfex: psfex
python-escript: python3-escript [armel mipsel]
                python3-escript-mpi [armel mipsel]
qm-dsp: libqm-dsp0
scamp: scamp [amd64 arm64 mips64el ppc64el s390x]
scikit-misc: python3-skmisc
sight: libsight [amd64]
source-extractor: source-extractor
xmds2: xmds2

# Broken Build-Depends:
ceres-solver: libatlas-base-dev
dune-common: libatlas-base-dev
emmax: libatlas-base-dev
       libatlas3-base
ergo: libatlas-base-dev
ghmm: libatlas-base-dev
halide: libatlas-base-dev
hpcc: libatlas-base-dev
iml: libatlas-base-dev
ncl: libatlas3-base
odin: libatlas-base-dev
opm-material: libatlas-base-dev
phast: libatlas-base-dev
plink1.9: libatlas-base-dev
plink2: libatlas-base-dev
psfex: libatlas-base-dev
qm-dsp: libatlas-base-dev
scamp: libatlas-base-dev
scikit-misc: libatlas-base-dev
source-extractor: libatlas-base-dev
theli: libatlas-base-dev
xmds2: libatlas-base-dev

Dependency problem found.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to