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