On Wed, Jul 1, 2020 at 8:25 AM Ben Cotton bcotton@redhat.com wrote:
https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
== Summary == BLAS/LAPACK packages will be compiled against the FlexiBLAS wrapper library, which will set OpenBLAS as system-wide default backend, and at the same time will provide a proper switching mechanism that currently Fedora lacks.
I like this idea. Comments below.
# '''Fedora lacks a system-wide default'''. Due to implementation differences, it is important that all components of a particular software stack link to the same BLAS/LAPACK implementation. Although there have been [[Changes/OpenBLAS_as_default_BLAS|efforts]] to standardize OpenBLAS as a system-wide default, they are incomplete. # '''Fedora lacks a proper switching mechanism'''. Different implementations work differently depending on the workload, but also depending on whether the consumer of this API implements some kind of parallelization, for instance. Therefore, users may want to choose a particular implementation that works best for them at run time. Mechanisms such as update-alternatives and modules have been discussed in the past, but were considered improper (the former) or faced technical issues (the former).
I think the latter instance of "the former" should be "the latter". :-)
# Recompilation of all BLAS/LAPACK-dependent packages linking against FlexiBLAS instead of the current implementation they are using (just changing a BuildRequires line should be sufficient in most cases, unless a SPEC has something hardcoded somewhere else).
Speaking as maintainer of several packages that use BLAS/LAPACK, I think the effort required may be a bit more than this paragraph suggests, but it is worth doing. Thanks for working on this, IƱaki!