Boost.Compute is a GPU/parallel-computing library for C++ based on OpenCL with STL-like interface.
The core library is a thin C++ wrapper over the OpenCL API and provides access to compute devices, contexts, command queues and memory buffers. On top of the core library is a generic, STL-like interface providing common algorithms (e.g. transform()
, accumulate()
, sort()
) along with common containers (e.g. vector<T>
, flat_set<T>
). It also features a number of extensions including parallel-computing algorithms (e.g. exclusive_scan()
, scatter()
, reduce()
) and a number of fancy iterators (e.g. transform_iterator<>
, permutation_iterator<>
, zip_iterator<>
)