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

2024-10-06 12:38:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个numpy数组X。我想在进程之间共享它。在每个进程中,我都调用一个函数foo(),它的读数是X。我希望foo()被jitted,例如:

    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和/或对X进行酸洗?你知道吗


Tags: 函数numpytruefoo进程defnpzeros