Added support for switching queues
Updated code comments
Merge pull request #38 from bollig/master

Added support for switching queues
Scheduler: Replaced const-char exceptions with std::exception-compliant mechanism.
Removed incorrect CPU fallback for SpMV on CPUs using OpenCL.
Refined test for compressed_matrix-vector product using ranges and slices for vector.
Scheduler: Removed trailing underscores from struct and union members.
Merge pull request #37 from albertzaharovits/master

Sparse Matrix(compressed) * Dense Matrix product
Fixed scheduler-related pedantic warnings on GCC 4.6.
Fixed sparse matrix-vector product with strided vectors for COO, ELL, HYB for OpenCL.

Still broken on CPU and CUDA.
Fixed sparse matrix-vector product with strided vectors for COO, ELL, HYB for OpenMP.

Also fixes erroneous results using non-square matrices.
Fixed sparse matrix-vector product with strided vectors for ELL, HYB for CUDA.

Found COO to be causing some problems (CUDA + OpenCL), need to check further.
fixed regression test script: building in serial mode now
Fixed matrix element-wise kernel processing.

Accidentally, the OpenCL sources for element-wise matrix operations haven't been created anymore.
This is now fixed.
Fixed copy&paste error in comments within scheduler tutorial
Fixed erroneous assert()-statement.
Scheduler statements can now be printed via operator<<
Added correct CTest configuration for CDash
Added missing DIV operator, added suggestion for new lhs_rhs_element
Added better vector processing support to scheduler. x = y1 + y2 + y3 + y4 now working.

Implementation was refined such that the logic can now also operate on subexpressions.
This is achieved by passing the root node explicitly, hence subexpressions are easily obtained
by passing a modified root node. Matrix operations essentially unchanged.