在 numba 中调用矢量化函数

Calling a vectorized function in numba

我正在尝试从 @jit 函数调用 @vectorize 函数。 ¿有人可以解释为什么不起作用吗?
我post代码和错误:

N = 1000
# Ufunc using numba
@vectorize('float64(float64,float64)',nopython = True,target = "parallel")
def function(x,y):
    return x+y

# Jitted function calling the previous function
@jit('float64[:](float64[:],float64[:])',nopython = True)
def test_function(x,y):
    return function(x,y)

x = np.zeros(N)
y = np.ones(N)
vector = test_function(x,y)

我收到的错误信息是: 未类型化的全局名称 'function': 无法确定

的 Numba 类型

只有当你添加标志时才会发生target='parallel'

这是当前版本 Numba 的一个已知问题,请参阅:
https://github.com/numba/numba/issues/5720

您可以使用 target="cpu.

解决此问题