下面是代码:
import pycuda.autoinit
import pycuda.gpuarray as gpuarray
import pycuda.driver as drv
import numpy as np
import scikits.cuda.linalg as culinalg
import scikits.cuda.misc as cumisc
culinalg.init()
ag = gpuarray.to_gpu(np.random.rand(1000,1000))
bg = gpuarray.to_gpu(np.zeros((1000,1000))
bg[:,:] = ag
我得到了以下错误:
TypeError: 'GPUArray' object does not support item assignment
那么,在pycuda/ scikits.cuda中将一个矩阵分配给另一个现有矩阵的方法有哪些?
发布于 2014-11-15 08:38:03
好的,这不是一种优雅的方法,而是一种解决方案:使用pycuda的ElementwiseKernel:
import from pycuda.elementwise import ElementwiseKernel
ele_assign = ElementwiseKernel("double *a,double *b","a[i] = b[i]","ele_assign")
ele_assign(bg,ag)
https://stackoverflow.com/questions/26941371
复制相似问题