Я использую распространенный фреймворк для параллельных вычислений. В этом случае мой основной вариант использования - NumPy. Когда я включаю код NumPy, который полагается на np.linalg
, я получаю ошибку с OMP_NUM_THREADS
, которая связана с библиотекой OpenMP < / а>.
Минимальный пример:
from distributed import Executor
import numpy as np
e = Executor('144.92.142.192:8786')
def f(x, m=200, n=1000):
A = np.random.randn(m, n)
x = np.random.randn(n)
# return np.fft.fft(x) # tested; no errors
# return np.random.randn(n) # tested; no errors
return A.dot(y).sum() # tested; throws error below
s = [e.submit(f, x) for x in [1, 2, 3, 4]]
s = e.gather(s)
Когда я тестирую linalg, e.gather
завершается неудачно, поскольку каждое задание выдает следующую ошибку:
OMP: Error #34: System unable to allocate necessary resources for OMP thread:
OMP: System error #11: Resource temporarily unavailable
OMP: Hint: Try decreasing the value of OMP_NUM_THREADS.
Что я должен установить для OMP_NUM_THREADS
?