在 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
.
解决此问题
我正在尝试从 @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': 无法确定
只有当你添加标志时才会发生target='parallel'
这是当前版本 Numba 的一个已知问题,请参阅:
https://github.com/numba/numba/issues/5720
您可以使用 target="cpu
.