ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
Shared Library

In order to open up ViennaCL to other languages such as C, FORTRAN, or Python, a shared library is under development in the subfolder libviennacl/. Currently the different BLAS backends for dense linear algebra are available. Sparse linear algebra, iterative solvers, etc. will follow in future releases.

The design and calling conventions are very similar to vendor BLAS libraries. All functions are prefixed 'ViennaCL'. The three backends provide their functionality through functions prefixed ViennaCLCUDA, ViennaCLOpenCL, and ViennaCLHost, respectively. Since we consider the standard BLAS interface rather tedious and error-prone, an additional object-oriented interface is provided as well.

Have a look at examples/tutorial/libviennacl.cpp as well as the tests located at tests/src/libviennacl* to get an impression on how to use these methods. Also, all callable functions in the shared library are listed in the public include file libviennacl/include/viennacl.hpp. Additional documentation will be added incrementally.

Warning
The shared library is work in progress and should be considered unstable. No forward or backwards compatibility should be assumed. Any feedback is very much appreciated.