我正在尝试使用 numba 在我的 GPU 上执行 np.diff。
这是我使用的脚本;
import numpy as np
import numba
@numba.vectorize(["float32(float32, float32)"], target='cuda')
def vector_diff_axis0(a, b):
return a + b
def my_diff(A, axis=0):
if (axis == 0):
return vector_diff_axis0(A[1:], A[:-1])
if (axis == 1):
return vector_diff_axis0(A[:,1:], A[:,:-1])
A = np.matrix([
[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[9, 8, 7, 6, 5],
[4, 3, 2, 1, 0],
[0, 2, 4, 6, 8]
], dtype='float32')
C = my_diff(A, axis=1)
print (str(C))
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误;
TypeError: No matching …Run Code Online (Sandbox Code Playgroud)