Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2024. The current version is 1.89.0.
The Boost Compute library consists of several different components. The core
layer provides a "thin" C++ wrapper over the OpenCL API. This includes
classes to manage OpenCL objects such as device's,
kernel's and command_queue's.
On top of the core layer is a partial implementation of the C++ standard
library providing common containers (e.g. vector<T>,
array<T, N>) along
with common algorithms (e.g. transform()
and sort()).
The library also provides a number of "fancy" iterators (e.g.
transform_iterator
and permutation_iterator)
which enhance the functionality of the standard algorithms.
Boost.Compute also supplies a number of facilities for interoperation with other C and C++ libraries. See the section on interoperability for more information.
See the API Overview section for a full list of functions, classes, and macros provided by Boost.Compute.
Boost.Compute uses OpenCL as its interface for executing code on parallel devices such as GPUs and multi-core CPUs.
OpenCL was chosen for a number of reasons: