进程以退出代码 -1073740940 和 Numba 结束

Process finished with exit code -1073740940 and Numba

当我使用 Numba 时,出现以下错误:

Process finished with exit code -1073740940 (0xC0000374)

代码如下:

from numba import njit,prange

@njit(parallel=True)
def r(x,y,z):
    k=[]
    for i in prange(x):
        for j in prange(y):
            for l in prange(z):
                k.append(i + j+l)
    return k
k = r(2,2,2)

有人可以帮我吗?

您不能将项目并行添加到给定列表(至少在没有 locks/synchronizations/atomics 的情况下不能)。使用 prange 不会神奇地使您的代码更快。您需要确保代码可以并行化。如果这不可能,则生成的代码格式错误并导致未定义的行为(例如像您所遇到的那样的崩溃)。

如果你想要一个快速的代码,使用 Numpy 数组,预分配 最终大小(或可能更大)的数组并使用直接赋值