ViennaCL is designed to be an easy-to-use library, which hides most of the subtleties of parallel programming with OpenCL from the library user. Especially users familiar with ublas can immediately shift many linear algebra operations to the GPU or parallelize them on multi-core CPUs by using ViennaCL.

  • Scalar: This example shows how scalars on the GPU are used.
  • Vector: The basic handling of vectors on GPU is shown.
  • Dense Matrix: The dense matrix type in ViennaCL is explained and used for the solution of linear equations on the GPU
  • Sparse Matrices: ViennaCL provides two sparse matrix types, which are briefly introduced in this example.
  • Iterative Solvers: The use of iterative solvers both for GPU types and for uBLAS types is shown here.
  • PyViennaCL: Shows how to use ViennaCL functionality through Python.
  • MATLAB interface: The simple calls of the iterative solvers in ViennaCL from within MATLAB are presented.