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