SYCL-rs
Rust bindings for SYCL and the Intel oneAPI programming environment.
[!WARNING] SYCL-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:
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
Add your required dependencies with Cargo:
Make sure to source the setvars.sh file before building your project.
Quick start
Build the workspace from source:
List the SYCL devices visible to the runtime:
The kernel launch examples demonstrate allocation, runtime kernel compilation, kernel submission, and copying results back to the host:
Documentation
License
Licensed under either the Apache License 2.0 or the MIT License, at your option.