On Wed, 1 Jul 2020 10:54:16 -0600 Jerry James <loganjerry@xxxxxxxxx> wrote: > On Wed, Jul 1, 2020 at 10:26 AM Iñaki Ucar <iucar@xxxxxxxxxxxxxxxxx> > 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 jussilehtola@xxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx