boostorg/compute

A C++ GPU Computing Library for OpenCL

What it solves

Boost.Compute simplifies GPU and parallel computing for C++ developers by providing a high-level, STL-like interface over the complex OpenCL API.

How it works

It acts as a thin C++ wrapper around OpenCL, managing compute devices, contexts, and memory buffers. It extends this core with a generic interface that offers common algorithms (like transform and sort) and containers (like vector and flat_set), allowing developers to write parallel code using familiar C++ patterns.

Who it’s for

C++ developers who need to leverage GPU acceleration and parallel computing via OpenCL without dealing with the low-level OpenCL API directly.

Highlights

  • Header-only library requiring no linking.
  • STL-like interface for algorithms and containers.
  • Support for parallel-computing specific algorithms such as exclusive_scan and reduce.
  • Includes advanced iterators like zip_iterator and permutation_iterator.

Related

  • Project
  • Project
  • Project
  • Project
  • Project