Denis Demidov
                                            Denis Demidov
                                        
                                    Can you try to configure the project with `cmake .. -DVEXCL_BACKEND=CUDA`? The default value is 'OpenCL', set here: https://github.com/ddemidov/vexcl/blob/a0fe836ee70280b697bbabcaee7edd2fba8faac0/CMakeLists.txt#L240 I agree the choice of the default should be more intelligent...
588fab65 should help.
`VexCL::Backend` is a cmake alias for one of `VexCL::OpenCL`, `VexCL::CUDA`, `VexCL::Compute`, or `VexCL::JIT`: https://github.com/ddemidov/vexcl/blob/4a99b23fe6d9e6a393fa6815cb72f181e8567c8f/CMakeLists.txt#L250-L258 Each of these is an interface cmake target that brings all appropriate includes and libraries. The...
It is possible, but is not directly provided by the library. There is an example of a block-valued spmv in vexcl backend for [amgcl](https://github.com/ddemidov/amgcl) here: https://github.com/ddemidov/amgcl/blob/master/amgcl/backend/vexcl_static_matrix.hpp The code extends vexcl...
It should be faster, but not dramatically so. Here is a quick experiment of using amgcl to solve an elasticity problem which has a 4x4 block structure. In the first...
I think you should use `vex::sparse::matrix` instead of `vex::SpMat` to make everything inline (it does not require a `make_inline` call, operations with `vex::sparse::matrix` are inlined by default). The block matrices...
The kernel looks like it is almost working for you. The problem is that OpenCL does not know how to multiply `amgcl_matrix_double_3x3` and `amgcl_matrix_double_3x1`. Since OpenCL is C-based, you can...
`m_W` is a sparse matrix, right? This should work, but I think it would be less efficient because it would involve a lot of duplicated and badly cached memory reads....
VexCL will fuse them into a single kernel, but I am afraid the kernel will be quite ineffective.
Can you try this? ``` OCL_DEVICE=i7-8700 ctest --output-on-failure ``` This will exclude the `HD Graphics` device from the tests (well, in fact it will restrict the tests to the device...