#opencl #khronos #headers


Continuously maintained Rust interfaces for Khronos OpenCL API

1 unstable release

0.0.1 Mar 25, 2021
Download history 1/week @ 2021-09-25 1/week @ 2021-10-02 2/week @ 2021-10-09 2/week @ 2021-10-16 2/week @ 2021-10-23 3/week @ 2021-10-30 7/week @ 2021-11-06 8/week @ 2021-11-13 15/week @ 2021-11-20 10/week @ 2021-11-27 5/week @ 2021-12-04 10/week @ 2021-12-11 7/week @ 2021-12-18 13/week @ 2021-12-25 15/week @ 2022-01-01 16/week @ 2022-01-08

51 downloads per month
Used in clinfo



⚙️ opencl-rs

N3NX N3NX Crates.io Docs dependency status

OpenCL Collections Library

Library that contains OpenCL APIs, Adapters, FFI headers and related utilities.

This library is intended to support future version of OpenCL while maintaining long term support for Rust.

By Long Term Support, we commit to fix bugs and to actively maintain proper functionality of this library over the years. We also plan to create several milestones for this project to have sustainable development over long period of time.


This library is intended to provide these features alongside of traditional ones.

  1. Compatible with Latest OpenCL Versions (OpenCL 3.0)
  2. Supports Compatiblity with Older and Deprecated APIs for Previous Versions (OpenCL 1.1, 1.2 etc.)
  3. Lightweight Headers and API Objects
  4. Superior Error Handling
  5. Periodic Bug Fix Management
  6. Optimised for High Performance
  7. Ease of Use and Simplicity
  8. Types and Functions Safety


This library can be installed in two ways.

  1. Precompiled library files (for major platforms), you can download those from the release section of this repository.
  2. Build it yourself (needs cargo installed obviously), instructions are simple: cargo build --release and to test the functions on your platform: cargo test


The N3N follows Semantic Versioning for their projects. There are 3 types of release lifecycle associated with this project, described as below:

  1. Major releases x.0.0 supports the version jump from Khronos OpenCL. Before updating to these versions, be sure to review changelog first.
  2. Minor release 0.x.0 integrates new library features or Khronos OpenCL Header updates. Generally these changes are safe and are non-disruptive to previous releases.
  3. LTS releases 0.0.x supports critical bug fix and patches and are safe to update to these versions without second thought.

Please refer to VENDORING document for more details.


N3N Contributor Guidelines

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started. Please also read our Contributor Terms before you make any contributions.

Any contribution intentionally submitted for inclusion in a N3N project or a Knytx Labs open source project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:


This contribution is dual licensed under EITHER OF

at your option.

For clarity, "your" refers to the N3N contributors, NCRYPTO Labs Private Limited or any other licensee/user of the contribution.


See CREDITS.md file for heartiest thanks and acknowledgement to other awesome developers out there.

The OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos. Complete license details are available on the Khronos and Apple website.

This project is initiated by Naman Bishnoi @diabloxenon

No runtime deps