Numba:在进程之间共享一个numpy数组

时间:2018-11-07 14:51:16

标签: python numpy multiprocessing numba

我有一个numpy数组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。

  1. Numba不喜欢全局变量。
  2. 如果我将所有内容都放在一堂课上,Numba给我一个错误 "cannot determine Numba type of <class '__main__.MyClass'>"

如何在所有进程之间共享X,而不必每个进程都必须读入X和/或对其进行酸洗?

0 个答案:

没有答案