On Saturday, 12 August 2017 at 23:30, Richard W.M. Jones wrote:
On Sat, Aug 12, 2017 at 12:40:18PM +0200, Kevin Kofler wrote:
> Richard W.M. Jones wrote:
> > I have no particular affinity for Atlas. But if we're going to
> > replace it, is OpenBLAS a complete drop-in replacement for Atlas that
> > requires no or at least very minimal changes? In what ways is it better
> > or worse?
>
> Proper support for runtime CPU feature detection on x86 architectures
> (x86_64 and i686). ATLAS expects to be tuned to every single machine, and
> distro packages can only be built to the lowest common denominator.
> (Anything else can only be in atlas-* subpackages that have to be manually
> installed.) OpenBLAS can also do that, but it also has a mode (used in
> packaging) where it will check for the available vector instruction sets
> (MMX, SSE*, AVX*) and pick the highest one available on the machine that is
> implemented for the called function. E.g., it can use SSE3 and newer on
> x86_64 when available, without breaking the SSE2-only x86_64 baseline.
> (Please note that this is only supported on x86 at this time. For ARM, it is
> like ATLAS, you can only compile for the baseline.) This can make a big
> difference in distro packages.
>
> There might also be other performance benefits. OpenBLAS is derived from
> GotoBLAS (which was put under a BSD license when Prof. Goto left TACC in
> 2010, so that the community can continue development, which is exactly what
> OpenBLAS is doing). GotoBLAS has, since its proprietary times, had a
> reputation of being a really fast implementation.
Sounds all good. Are source-level changes needed to dependent
packages and if so are they simple to make?
Yes, you don't need to add -L%{_libdir}/atlas to LDFLAGS anymore and you
link with -lopenblas.
See scalapack, arpack or elpa packages for example. In fact, I had to
switch elpa to openblas to match scalapack. Otherwise I got test
failures.
Regards,
Dominik
--
Fedora
https://getfedora.org | RPMFusion
http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan