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.ho...@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@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion