On Wed, 1 Jul 2020 10:54:16 -0600
Jerry James <[email protected]> wrote:

> On Wed, Jul 1, 2020 at 10:26 AM Iñaki Ucar <[email protected]>
> wrote:
> > BTW, I would also like to discuss here, as part of this proposal,
> > which backend should be the system-wide default. I believe we all
> > would agree that OpenBLAS nowadays is the best choice. But then, the
> > serial or the openmp version?  
> 
> First, I want to make sure I understand the current openblas
> packaging.  Is this correct?
> 
> openblas-openmp: use if the application uses OpenMP

Yes; then OpenBLAS calls get run in parallel in single-threaded regions
of the code, and if sequential mode in regions that are already
running parallel.

> openblas-serial: use if the application is multithreaded
> openblas-threads: use if the application is single-threaded

No, this is exactly the wrong way around. You should use the serial
library for code that you want to be running in serial (this way you
can get several instances of the program running efficiently), and the
pthreads version if you want to run the BLAS/LAPACK regions in parallel
(but are somehow opposed to OpenMP!)..

> 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?

Then you get too much parallellism, i.e. every call to OpenBLAS will
launch several threads, and this will naturally ruin your scaling.
-- 
Susi Lehtola
Fedora Project Contributor
[email protected]
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]

Reply via email to