This manual describes the use of ViennaCL and consists of multiple parts:
| Introduction | Provides a first overview of ViennaCL |
| Installation | How to build the examples and benchmarks in ViennaCL |
| Basic Types | Description of the basic types in ViennaCL |
| Basic Operations | Description of the basic operations available |
| Algorithms | Discusses the use of the various algorithms available |
| Interfacing Other Libraries | Using ViennaCL with other libraries such as Boost.uBLAS, Eigen, or MTL4 |
| Memory Model | Explains the memory model used in ViennaCL |
| Shared Library | How to use ViennaCL as a shared library from programming languages other than C++ |
| Additional Algorithms (Unstable) | Explains backend-specific (unstable) algorithms in ViennaCL |
| User-Provided OpenCL Contexts | How to provide your own OpenCL context for use with ViennaCL |
| Configuring OpenCL Contexts and Devices | How to use multiple compute devices concurrently with ViennaCL |
| Custom OpenCL Compute Kernels | Shows how to use your own compute kernels in CUDA or OpenCL with ViennaCL |
| Structured Matrix Types | Describes the structured matrices and associated operations available for the OpenCL backend |
| Design Decisions | Explains certain design decisions in ViennaCL |
| Authors and Contributors | A list of authors and contributors to ViennaCL |
| Versioning | Description of the basic types in ViennaCL |
| Change Log | Lists the changes to ViennaCL in each release |
| License | The permissive MIT/X11 license of ViennaCL |