我正在使用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
这究竟意味着什么?
答案 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))