KhronosGroup/OpenCL-CLHPP
Khronos OpenCL-CLHPP
What it solves
This project provides C++ bindings for the OpenCL API, allowing developers to use OpenCL's parallel computing capabilities within a C++ environment rather than relying solely on the C-based API.
How it works
It provides a set of C++ header files (opencl.hpp and cl2.hpp) that wrap the core OpenCL C API. These bindings allow for a more native C++ style of programming and are compatible with all versions of OpenCL, including 1.x.
Who it’s for
Developers who are building high-performance computing applications using OpenCL and prefer the C++ language over C.
Highlights
- own a maintained version of the C++ bindings (
opencl.hpp)
- Compatible with all OpenCL versions, including 1.x
- Includes a simple example application to demonstrate basic features
- Integrated with the OpenCL SDK for a streamlined build experience
Related
- Project
KhronosGroup/OpenCL-HeadersThe official C language headers for the OpenCL API, providing a standardized interface for developing high-performance applications on heterogeneous computing platforms.
- Project
boostorg/computeA GPU and parallel-computing library for C++ that provides a high-level, STL-like interface over the OpenCL API.
- Project
JuliaGPU/OpenCL.jlOpenCL.jl is a Julia package that wraps the OpenCL API, allowing high‑level, Julia‑native or OpenCL‑C kernels to run on GPUs, CPUs, FPGAs, etc. Install a driver, add the package, and use `CLArray`, `cl.Program`, and `@opencl`/`clcall` to offload work. It mirrors PyOpenCL’s functionality and supports SPIR‑V compilation of Julia functions.
- Project
AdaptiveCpp/AdaptiveCppA community-driven platform for C++ heterogeneous programming that enables a single binary to run across CPUs and GPUs from all major vendors.
- Project
kpet/clvkA conformant OpenCL 3.0 implementation built on top of Vulkan, enabling OpenCL applications to run on Vulkan-supported hardware.