У меня есть пустой массив X. Я хочу поделиться им среди процессов. В каждом процессе я вызываю функцию foo (), которая читает X. Я хочу, чтобы foo () была присоединена, например ::
X = np.zeros(1000)
@jit(nopython=True)
def foo(i):
return np.max(X[:,i])
pool = mp.Pool(processes=10)
for i in range(10):
pool.apply_async(foo, args=(i,))
pool.close()
pool.join()
У меня проблема с разделением X между процессами.
- Numba не любит глобальные переменные.
- Если я помещу все в класс, Нумба выдаст мне ошибку
"cannot determine Numba type of <class '__main__.MyClass'>"
Как я могу разделить X между всеми процессами, чтобы каждый процесс не считывал его и / или не выбирал X?