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