Rafael Laboissière <raf...@debian.org> writes:

> * Sébastien Villemot <sebast...@debian.org> [2023-07-08 10:01]:
>
>> As the maintainer of the atlas package over the last decade, I now
>> wonder whether we should remove it from the archive.

I'd say definitely.  I don't know of any value in atlas these days.

I'm not a Debian developer/maintainer, but I noticed this and know a
bit about it as a sometime HPC system manager and packager who lost the
battle getting Fedora to adopt a Debian-style linear algebra policy.
(I'd contribute to Debian packaging if it didn't require an account on
salsa, which requires Recaptcha.)

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

I don't suppose high performance for anything not supported by OpenBLAS
is terribly interesting.  However, if you're interested in the sort of
performance you might expect with a GEMM micro-kernel in C on a
simple-ish micro-architecture (not AVX512), maybe see
<https://fx.srht.site/posts/2022-01-03-pure-c-gemm.html>.  That has a
reference to choosing a priori block sizes analytically.  (I think there
are also pure C micro-kernels in OpenBLAS, but I haven't checked, and
they will be harder to deal with.)

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

Or the SIMD, which loses a factor of four on Haswell, for instance,
without dynamic dispatch or building for -- finally! -- x86_64 hwcaps.

> When generating the C++ code, the xmds tool tries to link against
> libcblas.so, which, currently, only exists in the libatlas-base-dev
> package.

For what it's worth, you can trivially make a shim to supply the shared
object, assuming you have the header from openblas or blis and that
atlas provides the same cblas interface.  See
<https://fx.srht.site/posts/2019-10-20-library-aliases.html>.  (The
Fedora blis package ships with one for libblas.)

Reply via email to