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