我尝试使用CUDA运行代码,但出现了错误,系统似乎有些问题。
完整代码可以在以下链接中找到:CUDACast #10a - 您的第一个CUDA Python程序 和 no module named numbapro
import numpy as np
from timeit import default_timer as timer
from numba import vectorize
@vectorize(["float32(float32, float32)"], target='cuda')
def VectorAdd(a, b):
return a + b
def main():
N = 32000000
A = np.ones(N, dtype=np.float32)
B = np.ones(N, dtype=np.float32)
C = np.zeros(N, dtype=np.float32)
start = timer()
C = VectorAdd(A, B)
vectoradd_timer = timer() - start
print("C[:5] = " + str(C[:5]))
print("C[-5:] = " + str(C[-5:]))
print("VectorAdd took %f seconds" % vectoradd_timer)
if __name__ == '__main__':
main()
输出结果:
异常:版本不匹配:这是“cffi”软件包版本1.13.1,位于“/usr/local/lib/python2.7/dist-packages/cffi/api.pyc”。当我们导入顶层的“_cffi_backend”扩展模块时,得到版本1.5.2,位于“/usr/lib/python2.7/dist-packages/_cffi_backend.x86_64-linux-gnu.so”。两个版本应该相等,请检查您的安装。
可能的原因:
$which pip
/usr/bin/pip