VexCL: Vector expression template library for OpenCL. VexCL is vector expression template library for OpenCL. It has been created for ease of C++ based OpenCL development. Multi-device (and multi-platform) computations are supported. Source code of the library is publicly available under MIT license. See the Doxygen-generated documentation at This is the first of two articles describing the VexCL library. The first part is an introduction to the VexCL interface. The second part compares VexCL performance with existing GPGPU implementations. The comparison is based on odeint - a modern C++ library for numerical solutions of ordinary differential equations. To quote Khronos group, the organization behind the OpenCL standard, OpenCL is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers, and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software. The weakest sides of OpenCL are, probably, lack of tools and libraries around it and the amount of boilerplate code needed to develop OpenCL applications. The VexCL library tries to solve the latter issue. To start with an example, consider the ”hello world” problem of OpenCL: addition of two vectors. The following code block contains the program implementing the task with pure OpenCL. Note that the official C++ bindings are used here; the C variant would be much more verbose.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element