在numba中调用向量化函数

问题描述

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

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)

我收到的错误消息是: 未键入的全局名称函数”:无法确定>的Numba类型

只有在添加标志target='parallel'

时才会发生

解决方法

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

您可以使用target="cpu解决此问题。