|  | Home | Libraries | People | FAQ | More | 
        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: