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