Hi all, I'm busy converting the PyViennaCL test suite from my quickly hacked solution from last year to pytest. At the moment, with all the combinations of row/col-major, slice/range, trans, float/double, etc etc, I've got 10382 tests. I've covered all the ViennaCL functionality that's currently implemented in PyViennaCL, except: sparse matrices, iterative solvers, preconditioners, and eigenvalues. These bits will hopefully arrive in the next few days, after which I'll finish the PyViennaCL interfaces for the remaining bits of missing API.
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. (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. (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. Nonetheless, this is good news! The large majority of tests pass, and the code implementing those bits of API should be fairly stable now. Eventually, we should be able to treat the PyViennaCL test suite as an exhaustive secondary test suite for the core -- and these results show that we're getting there. Once the last bits are implemented, we should hook the PyViennaCL test suite up to some automated nightly testing apparatus; I'll talk to Andreas about that nearer the time. Best regards, Toby -- Toby St Clere Smithe http://tsmithe.net ------------------------------------------------------------------------------ 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 [email protected] https://lists.sourceforge.net/lists/listinfo/viennacl-devel
