Developer Tools

Intel's dpclang SYCL alignment enables open-source PyTorch on XPU

New commit lets you build PyTorch for Intel XPU with dpclang and Kineto profiling—all tests passing.

Deep Dive

PyTorch’s latest pull request (#185571) from Intel engineers brings critical alignment between two SYCL compiler paths for XPU (Intel’s data-parallel accelerator architecture). The commit modifies how the `dpclang` SYCL compiler sets the `SYCL_LIBRARY` variable, matching the behavior already established with `icpx`. Previously, `icpx` used `find_library()` to locate the SYCL library; now `dpclang` does the same. This consistency resolves build failures in components like Kineto, PyTorch’s profiling library, which expected the library path to be set in a specific way.

The change enables a fully open-source build pipeline for PyTorch on Intel XPU hardware. Users can now build with `XPU_SYCL_COMPILER=dpclang USE_KINETO=1 python setup.py develop`, leveraging the open-source Intel PTI (Performance Tools Interface) library. The developer team validated the build by running `test/profiler/test_xpu_profiler.py`—all tests passed. This is a significant step for the PyTorch community, as it reduces reliance on proprietary compiler toolchains for XPU development and unlocks profiling capabilities critical for performance optimization.

Key Points
  • dpclang now sets SYCL_LIBRARY via find_library(), matching icpx behavior to fix Kineto build expectations.
  • Enables building PyTorch for Intel XPU with fully open-source stack: dpclang + PTI library.
  • Validated by passing all profiling tests (test_xpu_profiler.py) on the new build pipeline.

Why It Matters

Fully open-source PyTorch builds on Intel XPU with profiling accelerate AI development on alternative hardware.