Hi Toby,

>> 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
>> ;-) ).
>
> Great, yes, that seems (at least almost entirely) to have done the
> trick. There are still a few failures (on the order of a couple of per
> cent), but I'm not sure I know the core well enough to spot if they're a
> bug there, an expected numerical difference, trying to do something
> unsupported, or a bug in PyViennaCL. Could you cast your eye over
> these?[1]
>
> [1] http://paste.ubuntu.com/8873927/

Thanks! The numerical errors with element-wise operations such as tan() 
or sin() look okay, that's just numerical noise. The following test 
cases deserve a closer look, though:

test_matrix_matrix_trans_isub_C_float32
test_matrix_matrix_slice_trans_isub_C_float32
test_matrix_matrix_trans_isub_F_float32
test_matrix_range_matrix_slice_trans_iadd_C_float32
test_matrix_slice_matrix_slice_trans_iadd_C_float32
test_matrix_slice_matrix_trans_iadd_F_float32
test_matrix_matrix_range_trans_isub_C_float32
test_matrix_slice_matrix_trans_iadd_C_float32
test_matrix_matrix_slice_trans_isub_F_float32
test_matrix_matrix_range_trans_iadd_C_float32
test_matrix_range_matrix_trans_isub_C_float32
test_matrix_slice_matrix_slice_trans_isub_C_float32
test_matrix_slice_matrix_trans_isub_F_float32
test_matrix_matrix_range_trans_iadd_F_float32
test_matrix_slice_matrix_trans_isub_C_float32
test_matrix_matrix_slice_trans_iadd_C_float32
test_matrix_range_matrix_range_trans_isub_C_float32
test_matrix_range_matrix_trans_isub_F_float32
test_matrix_range_matrix_slice_trans_isub_C_float32
test_matrix_slice_matrix_range_trans_iadd_F_float32
test_matrix_range_matrix_range_trans_iadd_C_float32
test_matrix_slice_matrix_range_trans_isub_F_float32
test_matrix_range_matrix_trans_iadd_C_float32
test_matrix_slice_matrix_slice_trans_iadd_F_float32
test_matrix_range_matrix_trans_iadd_F_float32
test_matrix_slice_matrix_range_trans_iadd_C_float32
test_matrix_matrix_trans_iadd_F_float32
test_matrix_matrix_trans_iadd_C_float32
test_matrix_slice_matrix_slice_trans_isub_F_float32
test_matrix_range_matrix_slice_trans_isub_F_float32
test_matrix_matrix_range_trans_isub_F_float32
test_matrix_range_matrix_range_trans_isub_F_float32
test_matrix_slice_matrix_range_trans_isub_C_float32
test_matrix_range_matrix_range_trans_iadd_F_float32

Apparently they all belong to the same family of operations. Can you 
please help me with the deciphering? Which operations correspond to the 
test cases above? (I could guess, but I may be wrong...) iadd and isub 
refer to += and -=?


> I also get some pretty huge error values using GMRES without a
> preconditioner on any double-precision sparse matrix (compressed,
> coordinate, ell, hybrid). Weirdly, the tests pass with GMRES on the same
> systems, when any of the (supported) preconditioners is used.[2] But I
> would have thought these would have been caught by the ViennaCL test
> suite, so I'm suspicious. Nonetheless, these seem to occur both on
> nVidia and Beignet.
>
> [2] http://paste.ubuntu.com/8874078/

Hmm, these errors look definitely wrong. I'll have a look...


> The rest of my tests pass just fine.

Hurray :-)

Thanks and best regards,
Karli


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

Reply via email to