KhronosGroup/OpenCL-Headers
Khronos OpenCL-Headers
What it solves
This repository provides the official C language headers for the OpenCL API, allowing developers to write programs that can run on heterogeneous computing platforms (such as CPUs, GPUs, and accelerators). It ensures a standardized way to interface with hardware accelerators for high-performance computing.
How it works
The project provides a set of "Unified headers" that are compatible with multiple OpenCL versions. Developers can control the API version they are targeting (via CL_TARGET_OPENCL_VERSION) and manage which function prototypes are declared (using defines like CL_NO_PROTOTYPES or CL_NO_EXTENSION_PROTOTYPES) to avoid conflicts or customize the build process.
Who it’s for
Systems programmers and developers building high-performance applications that need to target multiple hardware accelerators using the OpenCL standard.
Highlights
- Unified Headers: A single set of headers that works across all released OpenCL versions.
- Version Control: Ability to target specific OpenCL versions (e.g., 1.2 or 3.0) via preprocessor defines.
- Flexible Prototype Control: Granular control over which core and extension API prototypes are declared.
- Beta Extension Support: Explicit opt-in for experimental features through
CL_ENABLE_BETA_EXTENSIONS.
Related
- Project
- Project
- Project
- Project
- Project