On Wed, 14 Dec 2011 13:41:12 -0600, "Pazzula, Dominic J "
The subset index seems to drop (or is exclusive of) the last value.
This can be confusing if you are using range() to generate the array of indices. Instead
of needing the traditional range(start,end+1), you need to use range(start,end+2) as the
subset_dot() and the range() routine are exclusive of the last value.
Is this behavior as intended?
import numpy as np
import pycuda as cuda
n = 3
a = np.array(range(0,n**2),ndmin=2)
a = a.astype(np.float32)
g_a = cuda.gpuarray.to_gpu(a)
g_b = cuda.gpuarray.to_gpu(a)
subset = cuda.gpuarray.to_gpu(np.array(range(2,5)))
print "Subset Array", subset;
x = cuda.gpuarray.subset_dot(subset,g_a,g_b)
print "a[2:5] dot g[2:5]", x
[[ 0. 1. 2. 3. 4. 5. 6. 7. 8.]]
Subset Array [2 3 4]
a[2:5] dot g[2:5] 13.0
For the record: this is not the intended behavior. I'm debugging this,
but I haven't got very far yet.