Hi Toby,

 >>> I think the defining feature is the ElementFabs of some expression
>>> involving a Trans, and I think these are now occurring because I
>>> disabled an old bit of code: previously, I dispatched the matrix
>>> transposition before the rest of the statement, because expressions
>>> involving trans weren't supported by the scheduler. But then Philippe
>>> pointed out that this made autotuning such expressions impossible, so I
>>> disabled that dispatch. It seems there are some bits where this remains
>>> unsupported, so I'll have a think about what to do.
>>
>> The core does not support composite expressions involving trans(), e.g
>>    A + trans(A)
>> What is currently supported is:
>>    A = prod(trans(B), C);
>>    A = prod(B, trans(C));
>>    A = prod(trans(B), trans(C));
>>    A = solve(trans(B), C, (unit_)upper_tag or (unit_)lower_tag);
>>    A = solve(B, trans(C), (unit_)upper_tag or (unit_)lower_tag);
>>    A = solve(trans(B), trans(C), (unit_)upper_tag or (unit_)lower_tag);
>>    y = prod(trans(A), x);
>>    A = trans(B);
>>
>> I could fix up the scheduler such that it creates a temporary when
>> encountering trans() in any other operation, though.
>
> Aha. If you can spare the time to add that, that would be great, but if
> not, I can add another check to the PyViennaCL dispatch mechanism. I
> really don't mind (though of course there's less overhead in C++).

So it looks like the fix was not that complicated:
https://github.com/viennacl/viennacl-dev/commit/b5909a765eef584bf1300f3d6696b095b4a7e6a2
(most of the new lines are additional testing code...)
In addition to matrix operations such as
   A = B - trans(C)
this should now also support things like
  x = element_sin(y) + element_cos(z);
for vectors. :-)

Please let me know ASAP whether this resolves the problem. I'll wait for 
another round of nightly tests and release tomorrow as soon as I got a 
positive feedback (and if I get negative feedback I'll work on the fix 
;-) ).

Best regards,
Karli


------------------------------------------------------------------------------
_______________________________________________
ViennaCL-devel mailing list
ViennaCL-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to