2014-11-15 7 views
0

여기에 코드입니다 : pycuda/scikits.cuda에서 요소 별 할당을 수행하는 방법은 무엇입니까?

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에서 기존의 다른 매트릭스 매트릭스를 할당 할 수있는 방법?

답변

1

좋아,이 우아한 방법이 아니다, 그러나 해결책은 :

import from pycuda.elementwise import ElementwiseKernel 
ele_assign = ElementwiseKernel("double *a,double *b","a[i] = b[i]","ele_assign") 
ele_assign(bg,ag) 
: pycuda의 ElementwiseKernel를 사용하여