TypeError:' numpy.uint64'没有缓冲接口

时间:2015-05-29 11:16:39

标签: python numpy pycuda

我正在使用pycuda而且我正在编写这个程序

etat=np.zeros(XBLOCK * YBLOCK * XGRID * YGRID,dtype=np.uint)
compteur_init=np.uint(0)
clef_utilisateur=np.uint(SEED)
config=clef_utilisateur

compteur_init_gpu = cuda.mem_alloc(compteur_init.nbytes)
etat_init_gpu=cuda.mem_alloc(etat.nbytes)
cuda.memcpy_htod(compteur_init_gpu, compteur_init)
cuda.memcpy_htod(etat_gpu, etat)

当我编译时,我收到此错误消息

'numpy.uint64' does not have the buffer interface

这究竟意味着什么?

1 个答案:

答案 0 :(得分:1)

最后,我用模块gpuarray

解决了这个问题
import pycuda.gpuarray as gpuarray
etat=np.zeros(XBLOCK * YBLOCK * XGRID * YGRID,dtype=np.uint)
etat_gpu= gpuarray.to_gpu(etat)

kern(etat_gpu,np.uint(10),block=(XBLOCK,YBLOCK,1),grid=(XGRID,YGRID,1))