Dominik 'Rathann' Mierzejewski wrote:
It also needs some patching, because each library has a different
SONAME.
Symlinking
libblas.so.3 → libopenblas.so.0
liblapack.so.3 → libopenblas.so.0
is enough to get things linked against BLAS and/or LAPACK to pick up
OpenBLAS instead. A similar symlinking should work for the -devel package.
If the symlinks confuse ldconfig or cause some other issues, linker scripts
can be used instead.
I think atlas used to provide a drop-in replacement, but it was
abandoned
Ouch! Indeed, the current ATLAS packages provide only libsatlas and
libtatlas, no libblas or liblapack. This is a regression and should never
have been packaged that way. Now all the packages end up with the
unoptimized reference BLAS. (In fact, I think I already noticed that when it
happened and complained loudly about it, but was ignored, as it seems.
Sigh!)
That said, ATLAS should really go away, unless they add support for runtime
CPU detection and the result matches or exceeds OpenBLAS performance. In its
current state (which has been the state since its inception), ATLAS is
really unsuitable for distribution packaging. They just do not care about
binary packages, at all.
on the premise that scientific codes are compiled specifically for
their
target clusters anyway
… which is of course not true for distribution packages!
and Intel's math library (MKL) doesn't provide a drop-in
replacement.
… which is entirely irrelevant.
It is the job of the distribution to ensure that software uses the most
efficient BLAS/LAPACK implementation available. Other distributions ship
symlinks ensuring that. The current packaging in Fedora is horrible.
Kevin Kofler