From: @greatpanc Reviewed-by: @henryshi1, @nicholas_yhr Signed-off-by: @nicholas_yhr
OpenCLTM API C++ bindings
Doxgen documentation for the cl2.hpp header is available here:
http://khronosgroup.github.io/OpenCL-CLHPP/
Components:
-
include/CL/cl2.hpp: The latest, maintained, version of the C++ bindings. It should work with all versions of OpenCL (including 1.x). This is what most users will want. -
docs: Doxygen file used to generate HTML documentation forcl2.hpp. -
examples: A simple example application using the very basic features of the bindings. -
tests: A (very small, incomplete) set of regression tests. Building the tests requires Python, Ruby, Unity and CMock. For the last two we use Unity 2.1.0 and CMock top-of-tree from Github (the version 2.0.204 on Sourceforge does not work). -
CMakeLists.txt: Build system for the examples and tests and logic for the bindings installation.
To get external dependencies needed for testing, use --recursive when cloning
the repository, or run git submodule update --init.
You may need to tell CMake where to find the OpenCL headers and libraries,
using the variables OPENCL_INCLUDE_DIR and OPENCL_LIB_DIR.
These can be set either as environment variables, or on the cmake command line
using the syntax -D<VAR>=<VALUE>.
The following is an example set of commands to checkout and build the C++ bindings (adapt paths as required):
git clone --recursive https://github.com/KhronosGroup/OpenCL-CLHPP
cd OpenCL-CLHPP
mkdir build
cd build
cmake .. -DOPENCL_INCLUDE_DIR=/path/to/OpenCL/headers -DOPENCL_LIB_DIR=/path/to/OpenCL/library
make
make test
After building, the headers appear in build/include/CL/.
If Doxygen is available, you can generate HTML documentation by typing make docs.