Added VIENNACL_WITH_OPENMP guard to existing OpenMP stuff
* Corrected deprecated VIENNACL_HAVE_XYZ in examples
* Added initializer types for vectors: unit_vector, zero_vector, scalar_vector
Some progress with triangular solver for compressed_matrix: unit-lower-solve and upper-solve working, but performance is rather poor. This is, however, expected, because the data structure is not well suited for that.
Working on sparse triangular solvers. Performance still not great, but soon sufficient for ILU.
Sparse triangular solver for compressed_matrix now working on CPU. Moved in place for OpenCL and CUDA, testing required.
Sparse triangular solvers for compressed_matrix now working (CPU, OpenCL, CUDA).
Reimplementation of ILU0 for compressed_matrix. Using the new multi-backend, first tests indicate speedups of 10. That rocks. :-)
Pimped ILU(0,T)-preconditioners, up to one order of magnitude faster with new low-level implementations.
Transfer RAM<->OpenCL<->CUDA<->RAM now implemented.
* Added matrix initializers (work for CPU and OpenCL, CUDA-testing required)
* Added workaround for AMD APP SDK 2.7 bug on Trinity APUs (Catalyst 12.8) to tests
Added missing diagonal_assign_cpu-kernels for matrices. Initializer types now all working.
Added first implementation of incomplete Cholesky preconditioner. Requires improvements.
* Pimped incomplete Cholesky factorization. Speed now comparable to ILU.
* Fixed some of the problems in the block preconditioners.
* Valgrind complains about uninitialized memory when using Cholesky with OpenCL. More investigations required. Maybe related to the AMD APP SDK bug on Trinity?
Implemented support for typesafe cross-domain transfer of memory buffers. More testing required.
* Typesafe multi-backend transfer now working, making implementations based upon them nice and compact :-)
* added operator= to compressed_matrix<>
* moved viennacl::backend::memory_types to viennacl::memory_types
Simplified implementation of inner_prod(). Might yield better performance on AMD GPUs.
* Added element-wise operations for vectors
* Row- and Jacobi-preconditioner now work on CPU, OpenCL and CUDA
* Final summation in norm_1, norm_2, norm_inf is now carried out on GPU or CPU, depending on target (same as for inner_prod())
* Tweaked CG and BiCGStab to use norm_2 instead of inner_prod(v, v)
* Added missing kernel initialization call to row_info() for OpenCL
* Fixed wrong estimated residual in BiCGStab as introduced with the previous commit
* Improved performance of block-ILU.
* Added support for row-/Jacobi-preconditioner with coordinate_matrix
* Improved OpenCL matrix-vector performance of coordinate_matrix (factor 2 on GTX 285)
* Added restart to BiCGStab if search direction vanishes or a certain number of iterations is reached.
* Added two missing operator-overloads for vector in order to handle b - prod(A,x)
* Added level scheduling to ILU0. Solver cycle times look good, but setup is still quite expensive.
* CPU-fallback for ViennaCL-based block-ILU now working correctly.
* Removed old bicgstab-kernels (unused anyway)
* Eliminated 'potentially uninitialized variable' warnings in BiCGStab