Re: FlexiBLAS as BLAS/LAPACK manager - Fedora 33 System-Wide Change proposal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 1 Jul 2020 21:03:09 -0600
Jerry James <loganjerry@xxxxxxxxx> wrote:
> On Wed, Jul 1, 2020 at 12:06 PM Susi Lehtola
> <jussilehtola@xxxxxxxxxxxxxxxxx> wrote:
> > On Wed, 1 Jul 2020 10:54:16 -0600
> > Jerry James <loganjerry@xxxxxxxxx> wrote:  
> > > 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!)..  
> 
> Okay, I think the wiki's wording is hard to understand
> (https://github.com/xianyi/OpenBLAS/wiki/faq#multi-threaded), at least
> for me.  Let me see if I've got this straight.
> 
> 1. openblas-opemp computes on subranges in parallel using OpenMP
> 2. openblas-threads computes on subranges in parallel using pthreads
> 3. openblas-serial uses a single thread for the entire computation
> 
> Right?

Exactly. But the key bit here is that if openblas-openmp is called
within a code segment that is already OpenMP parallel, then OpenBLAS
does not parallellize further: if you have 8 cores, and the program is
running on 8 threads, further parallellism (going to 8*8=64 threads)
would just ruin the performance.

> What I'm looking for is a set of rules I can apply when I've got a
> package that uses BLAS, but upstream has given no guidance on what
> kind of BLAS library is suitable.  I've got several of those, so I
> want to check that they're linking with the best version of the
> library.  How should I make that determination?  Also, how do I know
> whether to use, say, openblas-openmp vs. openblas-openmp64 vs.
> openblas-openmp64_?

openblas-openmp is generally the safe choice. As for the latter
question, it depends on whether you compile your code with 4-bit or
8-bit integers.
-- 
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux