Karl, I have some issues with that new project operation. I want to
assign (in Matlab notation):

b(5:10) = A(1:5,1:10) x(1:10)

With:

viennacl::range r4(115, 334);
project(out_deriv, r4) = viennacl::linalg::prod(DM_b, u_gpu);

the assignment fills vector elements out_deriv(0:219) .  The matrix in
is unprojected and the vector in is unprojected, so the output
projection is not offsetting the write properly.

-E

On Mon, Jul 22, 2013 at 2:59 PM, Evan Bollig <bol...@gmail.com> wrote:
> Thanks! Ill pull in the latest dev and test against that.
>
> Cheers,
> -E
>
> On Mon, Jul 22, 2013 at 1:47 PM, Karl Rupp <r...@iue.tuwien.ac.at> wrote:
>> Hi Evan,
>>
>> I just pushed support for sparse matrix-vector products when using
>> vector-ranges and vector-slices.
>>
>> https://github.com/viennacl/viennacl-dev/commit/7e68860886d6461e483a5965e0ede68146c74189
>>
>> You cannot take ranges and slices of the matrix at the moment.
>>
>> Best regards,
>> Karli
>>
>>
>>
>> On 07/21/2013 04:23 PM, Evan Bollig wrote:
>>>
>>> Btw Karl:
>>>
>>> vector_range_M = viennacl::linalg::prod(A_MxN, vector_N);
>>>
>>> does not work. That would be equivalent to:
>>>
>>> vector_range_M = project( viennacl::linalg::prod(A_MxN, vector_N) , 0,M );
>>>
>>> -E
>>>
>>>
>>>
>>>
>>> On Sun, Jul 21, 2013 at 4:13 PM, Evan Bollig <bol...@gmail.com> wrote:
>>>>
>>>> Ah I see. Thanks for the clarification on projecting the LHS. I was
>>>> trying to assign the result to an unprojected vector assuming (vector
>>>> - vector_range) would return a vector and (vector_range - vector)
>>>> would return a vector_range (i.e., operation returns operand type).
>>>>
>>>> -E
>>>>
>>>> On Sun, Jul 21, 2013 at 4:09 PM, Karl Rupp <r...@iue.tuwien.ac.at> wrote:
>>>>>
>>>>> Hi Evan,
>>>>>
>>>>>
>>>>>> Can you refresh my memory on how ViennaCL behaves with this operation:
>>>>>>
>>>>>>
>>>>>> vector = vector - vector_range
>>>>>>
>>>>>> I would like to subtract an M < N sized vector_range from an N sized
>>>>>> vector (by operating on the first M elements). Is this supported in
>>>>>> 1.4.2?
>>>>>
>>>>>
>>>>>
>>>>> Yes, this is supported. You can just use
>>>>>
>>>>> project(x, range(a, b)) = project(y, range(c, d)) - z;
>>>>>
>>>>> where z is some existing vector_range. Mixing of vectors with ranges and
>>>>> slices is perfectly fine and supported.
>>>>>
>>>>> Best regards,
>>>>> Karli
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> -Evan Bollig
>>>> bol...@gmail.com
>>>> bol...@scs.fsu.edu
>>>
>>>
>>>
>>>
>>
>
>
>
> --
> -Evan Bollig
> bol...@gmail.com
> bol...@scs.fsu.edu



-- 
-Evan Bollig
bol...@gmail.com
bol...@scs.fsu.edu

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
ViennaCL-devel mailing list
ViennaCL-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to