Skip to content

oneAPI-rs

Rust bindings for SYCL and the Intel oneAPI programming environment.

Warning

oneAPI-rs is experimental, has not released version 0.1.0, and is not ready for production use. Its API may change without notice.

Supported platforms

The tested configuration is:

  • Linux
  • Intel oneAPI Toolkit 2026.1
  • A SYCL device supported by the installed oneAPI runtime

Other operating systems, oneAPI releases, and SYCL implementations are not currently tested or supported.

Prerequisites

  • A Rust toolchain with Rust 2024 edition support
  • Intel oneAPI Toolkit 2026.1, including the DPC++/C++ compiler and SYCL runtime

Initialize the oneAPI environment before building or running the project:

source /opt/intel/oneapi/setvars.sh

Replace /opt/intel/oneapi if the toolkit is installed elsewhere. The build also accepts an explicit compiler through ONEAPI_CXX; the compiler must support C++17 and SYCL.

Installation

The crates are not yet published. To build the workspace from source:

git clone https://github.com/oneapi-src/oneapi-rs.git
cd oneapi-rs
source /opt/intel/oneapi/setvars.sh
cargo build --workspace

Quick start

List the SYCL devices visible to the runtime:

source /opt/intel/oneapi/setvars.sh
cargo run -p oneapi-rs --example sycl-ls

The kernel launch examples demonstrate allocation, runtime kernel compilation, kernel submission, and copying results back to the host:

cargo run -p oneapi-rs --example kernel_launch

Documentation

License

Licensed under either the Apache License 2.0 or the MIT License, at your option.

About

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages