Подпрограммы, присущие numpy
и scipy
, допускают использование по отдельности потоковВы можете изменить это, если захотите.
# encoding: utf-8
# module numpy.core.multiarray
# from /path/to/anaconda/lib/python3.6/site-packages/numpy/core/multiarray.cpython-36m-darwin.so
# by generator 1.145
# no doc
# no imports
# Variables with simple values
ALLOW_THREADS = 1
При компиляции numpy
вы можете управлять потоками, изменив NPY_ALLOW_THREADS
:
./core/include/numpy/ufuncobject.h:#if NPY_ALLOW_THREADS
./core/include/numpy/ndarraytypes.h: #define NPY_ALLOW_THREADS 1
Что касается внешних библиотек, то яВ основном мы нашли numpy
и scipy
, чтобы обернуть устаревший код Фортрана (QUADPACK
, LAPACK
, FITPACK
... и т. д.).Все подпрограммы в этих библиотеках вычисляются в одном потоке.
Что касается зависимостей MKL, то сообщения SO, на которые вы ссылаетесь, в достаточной степени отвечают на вопрос.