Hi again :)

Sorry, I found the answer for my previous issue:
http://comments.gmane.org/gmane.comp.python.cuda/3064

Best regards
RL




On Nov 2, 2012, at 2:33 AM, Andreas Kloeckner <[email protected]> wrote:

> Rui Lopes <[email protected]> writes:
>> I have a program where I have to perform a dot (scalar product) of an array 
>> by a matrix. For e.g., consider the following code snippet:
>> 
>> #######
>> from pycuda import autoinit, gpuarray
>> import numpy as np
>> 
>> a_cpu = np.array([0, 1], dtype = np.float32)
>> b_cpu = np.array([[0, 1, 2], [0, 1, 2]], dtype = np.float32)
>> dot_cpu = np.dot(a_cpu, b_cpu) #yelds a 1x3 np.array
>> 
>> a_gpu = gpuarray.to_gpu(a_cpu)
>> b_gpu = gpuarray.to_gpu(b_cpu)
>> dot_gpu = gpuarray.dot(a_gpu,b_gpu) # yelds a 0d array???
>> ########
> 
> GPUArray.dot is only good for vector.vector dot products right now. For
> now, the best advice is to implement a simple mat-vec kernel yourself.
> 
>> So, I have two issues:
>> i) How to take the scalar result from dot_gpu?
>> ii) How to obtain the correct result? ( = numpy result)
>> 
>> I could do the dot operation over each column, but then it will never 
>> outperform the cpu equivalent, am I correct?
> 
> Yes.
> 
> Andreas


_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda

Reply via email to