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.
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.
- 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.shReplace /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.
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 --workspaceList the SYCL devices visible to the runtime:
source /opt/intel/oneapi/setvars.sh
cargo run -p oneapi-rs --example sycl-lsThe kernel launch examples demonstrate allocation, runtime kernel compilation, kernel submission, and copying results back to the host:
cargo run -p oneapi-rs --example kernel_launchLicensed under either the Apache License 2.0 or the MIT License, at your option.