OK, so 2 more weird problems. The rest of my tests pass (but I still don't quite have complete test coverage).
1. Cache issues continue: On both nVidia and Beignet, I get some error and a segfault like this on sparse gemv: Build Status = -2 ( Err = -11 ) The segfault happens when calling (in ocl/context.hpp): 443 err = clGetProgramBuildInfo(temp, devices_[0].id(), CL_PROGRAM_BUILD_LOG, 0, NULL, &ret_val_size); Now, the cache prefix seems correct (at least inspecting it with 'info locals' in gdb doesn't give a cross-device collision), and this happens even with a clean cache. source_text = 0x1c8b828 "__kernel void vec_mul( \n __global const unsigned int * coords, \n __global const float * elements, \n __global const float * x, \n uint4 layout_x, \n __global float * result, \n uint4 layout_result, ".. But the preceding call (before the failed buildProgram) works: 427 temp = clCreateProgramWithSource(h_.get(), 1, (const char **)&source_text, &source_size, &err); So I'm not sure what to make of this.. 2. I get a lot of failures from test_matrix_operations.py, too, which did not happen before. One time, I also got a segfault, but because I was outside of a debugger, I did not catch it; I cannot yet reliably reproduce it. The failures are all of the form Assign(Matrix:float64, ElementFabs(Sub(Matrix:float64, Sub(Mul(Trans(Matrix:float64)=>Matrix:float64, Scalar:float64)=>Matrix:float64, Trans(Matrix:float64)=>Matrix:float64)=>Matrix:float64)=>Matrix:float64)=>Matrix:float64) and they produce this exception: ViennaCL: Internal error: The scheduler encountered a problem with the operation provided: Cannot deal with unary operations on vectors 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. Cheers, Toby ------------------------------------------------------------------------------ _______________________________________________ ViennaCL-devel mailing list ViennaCL-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/viennacl-devel