[Numpy-discussion] Numpy wheels, openBLAS and threading

Peter Cock p.j.a.cock at googlemail.com
Thu Sep 28 09:54:54 EDT 2017


This came up for Biopython recently (someone using our
library on a cluster ran into thread limits triggered by the
importing of NumPy), and suggested something like this:

import os
try:
    os.environ["OMP_NUM_THREADS"] = "1"
    import numpy
finally:
   del os.environ["OMP_NUM_THREADS"]

Or MKL_NUM_THREADS, or apparently also it might
be OPENBLAS_NUM_THREADS as well:

https://github.com/biopython/biopython/pull/1401

Peter

On Thu, Sep 28, 2017 at 2:26 PM, Jean-Christophe Houde
<jean.christophe.houde at gmail.com> wrote:
> Hi all,
>
> not sure if this is the best place to ask for this. If not, please advise on
> the correct place.
>
> Since the numpy wheels internally use openBLAS, operations can be implicitly
> multithreaded directly by openBLAS.
>
> This, of course, can clash with multithreading or parallel processing. The
> recommended practice in this case is to set
>
> export OPENBLAS_NUM_THREADS=1
>
> in the environment. However, I would like to be able to adjust this directly
> in my python code.
>
> Is there a way to control this directly through Python, whether through
> numpy or not?
>
> Thanks for your time!
>
> --
> Jean-Christophe Houde
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>


More information about the NumPy-Discussion mailing list