{"id":9833,"library":"intel-sycl-rt","title":"Intel oneAPI SYCL Runtime","description":"The `intel-sycl-rt` package provides the Intel® oneAPI DPC++/C++ SYCL Compiler Runtime, essential for executing DPC++/SYCL applications. It is a core component of the Intel oneAPI Toolkit, enabling Python libraries like `dpctl` and `numba-dppy` to leverage SYCL-compatible hardware. Current version is 2025.3.3, with releases typically aligning with oneAPI toolkit updates.","status":"active","version":"2025.3.3","language":"en","source_language":"en","source_url":"https://www.intel.com/content/www/us/en/developer/tools/oneapi/components.html","tags":["oneapi","sycl","gpu","hpc","runtime","intel","dpc++"],"install":[{"cmd":"pip install intel-sycl-rt","lang":"bash","label":"Install SYCL runtime"}],"dependencies":[],"imports":[{"note":"Python libraries like dpctl discover and link to this runtime automatically if installed and environment variables are correctly set.","symbol":"N/A","correct":"This package provides a C++/SYCL runtime component and is not designed for direct Python import."}],"quickstart":{"code":"import dpctl\n\n# Check if a SYCL device is available\nif dpctl.has_sycl_devices():\n    # Get a default SYCL device (e.g., GPU if available, otherwise CPU)\n    device = dpctl.select_default_device()\n    print(f\"Selected SYCL device: {device.name}\")\n    \n    # The SYCL runtime is now implicitly active and available to dpctl.\n    # For actual computation, you would typically use libraries like dpnp or numba-dppy.\n    print(\"SYCL runtime is operational via dpctl. Ensure oneAPI environment is sourced.\")\nelse:\n    print(\"No SYCL devices found. Ensure intel-sycl-rt is installed, oneAPI environment is sourced, and drivers are correct.\")\n","lang":"python","description":"This quickstart demonstrates how a Python application, using `dpctl` (a common Python interface for SYCL), can verify the presence and availability of the Intel SYCL runtime. Direct imports of `intel-sycl-rt` are not applicable, as it's a backend runtime."},"warnings":[{"fix":"Execute `source /opt/intel/oneapi/setvars.sh` (or equivalent path) in your shell before running Python applications that use SYCL.","message":"The SYCL runtime often requires specific environment variables (e.g., `ONEAPI_ROOT`, `DPCPP_HOME`) to be sourced from the oneAPI `setvars.sh` script for proper discovery by Python libraries like `dpctl`.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure all oneAPI components and dependent Python libraries are from a consistent oneAPI toolkit version. Consider using Conda environments for strict version control.","message":"Mixing `intel-sycl-rt` from different oneAPI toolkit versions or using it with Python libraries (e.g., `dpctl`) compiled against an incompatible oneAPI version can lead to runtime errors or device detection failures.","severity":"breaking","affected_versions":"All versions when mixed"},{"fix":"Refer to Intel's documentation for installing the latest GPU drivers for your system. Verify driver installation using `sycl-ls` or `dpctl.has_sycl_devices()`.","message":"For GPU acceleration, ensure you have the correct and up-to-date Intel GPU drivers installed. Outdated or missing drivers will prevent SYCL devices from being detected and used.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Source your oneAPI `setvars.sh` script (e.g., `source /opt/intel/oneapi/setvars.sh`) before running Python applications. Verify Intel GPU drivers are installed and up to date.","cause":"SYCL runtime or devices are not discoverable, often due to missing environment setup or incorrect drivers.","error":"dpctl.SyclQueueCreationError: Could not create SyclQueue (or similar 'No SYCL devices found' errors)"},{"fix":"Ensure `intel-sycl-rt` is installed and the oneAPI environment variables are set correctly by sourcing `setvars.sh`. On Linux, ensure `LD_LIBRARY_PATH` includes the SYCL runtime directories. On Windows, verify `PATH`.","cause":"The underlying SYCL runtime libraries are not in the system's PATH (Windows) or LD_LIBRARY_PATH (Linux), preventing dependent Python modules (like `dpctl`) from loading.","error":"ImportError: DLL load failed while importing _sycl_service: The specified module could not be found. (Windows) or cannot open shared object file: No such file or directory (Linux)"}]}