Hi Karli,

Karl Rupp <r...@iue.tuwien.ac.at> writes:
> I'll work on improving the iterative solvers in the next couple of days, 
> so if something behaves weird, please let me know. Also, we have two 
> summer students who reworked (and fixed) large parts of the eigenvalue 
> routines for symmetric dense matrices and extended this to all three 
> backends. I can merge these some time in August.

OK; PyViennaCL should be ready for that.

>> Now, of those 10382 tests, 312 are currently failing. These failures
>> relate to just three operations:
>>
>> 1) A += trans(B);
>> 2) elementwise_pow;
>> 3) solving A \ b with b being a vector range or slice.
>>
>> (3) just gives numerically wrong results, which I suspect means that
>> vector ranges aren't being handled correctly somewhere. I haven't
>> investigated very strongly, but note that matrix ranges and slices (for
>> A \ B) work fine.
>
> I thought there are tests for these, but maybe this was missed. I can 
> check that, shouldn't be a big deal.

Thanks.

>> (2) fails with "ViennaCL: Internal error: The scheduler encountered a
>> problem with the operation provided: Unsupported binary operator", so
>> that's probably not implemented in the scheduler yet. I'm using
>> operation_node_type.OPERATION_BINARY_ELEMENT_POW_TYPE.
>
> Sounds indeed just like this was not registered in the scheduler. I'll 
> fix this.

Also thanks.

>> (1) is most interesting. I mentioned it to Philippe, and he noticed that
>> the matrix_float_double tests in ViennaCL don't cover trans or
>> operations on trans objects. Importantly, I don't get a bug if I do
>>
>>    B_trans = trans(B);
>>    A += B_trans
>>
>> instead of
>>
>>    A += trans(B).
>>
>> When I tried to add a C++ test of this form to matrix_float_double.hpp,
>> I get the compilation error
>>
>>    ‘apply’ is not a member of
>> ‘viennacl::linalg::detail::op_executor<viennacl::matrix_base<float>,
>> viennacl::op_inplace_add, viennacl::matrix_expression<const
>> viennacl::matrix_base<float>, const viennacl::matrix_base<float>,
>> viennacl::op_trans> >’
>>
>> which suggests that this is just a missing bit of API, and so I
>> shouldn't expect A += trans(B) to work yet.
>
> Ah, this is apparently not working correctly. It should be supported 
> API-wise, even though trans() is currently fairly poor in terms of 
> performance. Again, I'll fix this soon.

And further thanks! In the meantime, I can always add another hook to
PyViennaCL to dispatch any trans op before trying to compute an inplace
add / sub.

> You can hook the tests into our CDash 
> (http://viennastar.iue.tuwien.ac.at/CDash/index.php?project=ViennaCL) if 
> this is possible from your testing environment. As an alternative, I 
> don't think it is a big problem to set up a different dashboard system 
> on either the same machine or somewhere else. Most important is that 
> these tests are run on multiple machines on a nightly basis and 
> automatically report failures.

Yep -- I'll look into all this.

> Btw: Did you run these tests on krupp2 tonight? I see strange test 
> failures for which I don't have any explanation other than that the 
> machine was temporarily overloaded.

Nope; I've not logged into krupp2 for a while now :)


Cheers,

Toby


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&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