On Wed, Jul 1, 2020 at 11:20 AM Iñaki Ucar <iu...@fedoraproject.org> wrote:
> On Wed, 1 Jul 2020 at 19:03, Jerry James <loganje...@gmail.com> wrote:
> > openblas-openmp: use if the application uses OpenMP
> > openblas-serial: use if the application is multithreaded
> > openblas-threads: use if the application is single-threaded
> >
> > I've always found the naming of the openblas packages to be confusing,
> > so that may not be right.  Somebody set me straight if so.
>
> The naming means (the same for BLIS):
>
> -serial: runs single-threaded.
> -openmp: some parts use OpenMP.
> -threads: runs multi-threaded.
>
> So it's a property of the OpenBLAS build, not a property of the
> application. In fact, the serial version is not thread-safe unless you
> activate a particular option at build time. We found that issue
> recently and fixed it, and BTW the workaround was to switch to
> openblas-openmp.

I think the way the OpenBLAS wiki is written confuses me:

https://github.com/xianyi/OpenBLAS/wiki/faq#multi-threaded

It starts with "If your application is already multi-threaded",
implying that the default case is suitable for a single-threaded
application.  The default would be USE_THREAD=1, which corresponds to
the openblas-threads package.  The wiki's remedy for an application
that is multi-threaded is to build OpenBLAS with USE_THREAD=0
USE_LOCKING=1, which corresponds to the openblas-serial package.  If
the list I wrote above is wrong, I blame the wiki.

> > The question of the default is a hard one.  What happens if a
> > multithreaded application that does not use OpenMP is linked with the
> > OpenMP build of OpenBLAS?
>
> That combination is fine AFAIK. But I don't know whether the serial
> version would perform better in that situation or not at all.
>
> I'll bother the FlexiBLAS maintainer about this. :) They use FlexiBLAS
> as a research tool in high-performance computing, so maybe he knows
> better about all these possible combinations.

As long as the default can be overridden, it doesn't matter all that
much, I think.  It's probably best to pick the "safest" option as the
default, although I confess that I'm not sure which one that is.
-- 
Jerry James
http://www.jamezone.org/
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to