Eric Bavier <ericbav...@centurylink.net> writes: > Related only to this specific case of BLAS libraries, and not to the > general idea of optimized libraries:
> I recently discovered "FlexiBLAS" from the Max Planck Institute > https://www.mpi-magdeburg.mpg.de/projects/flexiblas which I thought > might be useful for Guix. That's a new one on me; I'll see how it works. (You'd hope you could do it with weak symbols or other ELFin stuff, but I couldn't see how.) > It lets one choose the desired BLAS backend > at runtime via a configuration file or environment variables. The Fedora package I referenced also does that, makes it easy to have local defaults on heterogeneous clusters, and has been used in production. The same technique allows you to use proprietary BLAS if necessary. > In it's > current state it needs a little configuration before use, but I think > with a little work we could make picking a BLAS implementation as easy > as, e.g. > > guix package -i python-numpy openblas-haswellp Really, you shouldn't need to do that. By the way, there's hope for free ~MKL-equivalent L3 BLAS on avx512 from some work that's promised in the new year. (BLIS dgemm currently has ~70% of MKL performance.)