All Projects → KhronosGroup → Opencl Headers

KhronosGroup / Opencl Headers

Licence: apache-2.0
Khronos OpenCL-Headers

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Opencl Headers

Kernels
This is a set of simple programs that can be used to explore the features of a parallel platform.
Stars: ✭ 287 (-33.1%)
Mutual labels:  opencl
Aparapi
The New Official Aparapi: a framework for executing native Java and Scala code on the GPU.
Stars: ✭ 352 (-17.95%)
Mutual labels:  opencl
Qcgpu
High Performance Tools for Quantum Computing
Stars: ✭ 380 (-11.42%)
Mutual labels:  opencl
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+725.17%)
Mutual labels:  opencl
Rspirv
Rust implementation of SPIR-V module processing functionalities
Stars: ✭ 332 (-22.61%)
Mutual labels:  opencl
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (-16.55%)
Mutual labels:  opencl
Oclgrind
An OpenCL device simulator and debugger
Stars: ✭ 280 (-34.73%)
Mutual labels:  opencl
Bytecoder
Rich Domain Model for JVM Bytecode and Framework to interpret and transpile it.
Stars: ✭ 401 (-6.53%)
Mutual labels:  opencl
Bayadera
High-performance Bayesian Data Analysis on the GPU in Clojure
Stars: ✭ 342 (-20.28%)
Mutual labels:  opencl
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (-12.12%)
Mutual labels:  opencl
Xmrig Amd
Monero AMD (OpenCL) miner
Stars: ✭ 322 (-24.94%)
Mutual labels:  opencl
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+760.84%)
Mutual labels:  opencl
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (-14.45%)
Mutual labels:  opencl
Blendluxcore
Blender Integration for LuxCore
Stars: ✭ 287 (-33.1%)
Mutual labels:  opencl
Clspv
Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders
Stars: ✭ 381 (-11.19%)
Mutual labels:  opencl
Cl
OpenCL binding for Erlang
Stars: ✭ 282 (-34.27%)
Mutual labels:  opencl
Trisycl
Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
Stars: ✭ 354 (-17.48%)
Mutual labels:  opencl
Chlorine
Dead Simple OpenCL
Stars: ✭ 419 (-2.33%)
Mutual labels:  opencl
Amgcl
C++ library for solving large sparse linear systems with algebraic multigrid method
Stars: ✭ 390 (-9.09%)
Mutual labels:  opencl
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (-12.82%)
Mutual labels:  opencl

OpenCLTM API Headers

This repository contains C language headers for the OpenCL API.

The authoritative public repository for these headers is located at:

https://github.com/KhronosGroup/OpenCL-Headers

Issues, proposed fixes for issues, and other suggested changes should be created using Github.

CMake Package

While the headers may just be copied as-is, this repository also contains a CMake script with an install rule to allow for packaging the headers.

cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/chosen/install/prefix
cmake --build build --target install

To consume the package:

cmake path/to/opencl/app -DOpenCLHeaders_ROOT=/chosen/install/prefix
cmake_minimum_required(VERSION 3.0)
cmake_policy(VERSION 3.0...3.18.4)
project(proj)
add_executable(app main.cpp)
find_package(OpenCLHeaders REQUIRED)
target_link_libraries(app PRIVATE OpenCL::Headers)

Branch Structure

The OpenCL API headers in this repository are Unified headers and are designed to work with all released OpenCL versions. This differs from previous OpenCL API headers, where version-specific API headers either existed in separate branches, or in separate folders in a branch.

Compiling for a Specific OpenCL Version

By default, the OpenCL API headers in this repository are for the latest OpenCL version (currently OpenCL 3.0). To use these API headers to target a different OpenCL version, an application may #define the preprocessor value CL_TARGET_OPENCL_VERSION before including the OpenCL API headers. The CL_TARGET_OPENCL_VERSION is a three digit decimal value representing the OpenCL API version.

For example, to enforce usage of no more than the OpenCL 1.2 APIs, you may include the OpenCL API headers as follows:

#define CL_TARGET_OPENCL_VERSION 120
#include <CL/opencl.h>

Directory Structure

README.md               This file
LICENSE                 Source license for the OpenCL API headers
CL/                     Unified OpenCL API headers tree

License

See LICENSE.


OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].